Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка под ASP.NET > Безопасность IIS |
Автор: Чердак 19.10.2008, 21:47 |
Доброе время суток. Я создал веб-сервис, на нем написал два метода: один возвращает DataSet, второй просто string. В настройках iis - стоит анонимный доступ. Оба метода при тестировании работают. А вот когда вызываешь их из приложения, первый метод выдает ошибку: "Login failed for user "[mashine_name]\\IUSR_ASUS", второй метод отлично работает. Скажите как настроить iis и web.config, а также клиентское приложение, что все заработало, и не использовать анонимный доступ. И где брать эти пароли и логины, которые спрашиваются при попытке зайти на http://localhost Заранее благодарен за помощь. |
Автор: likegift 20.10.2008, 05:27 | ||
оба метода лезут в базу? или тока один? или я не понял вопроса, и базу ваще никто не юзает? |
Автор: Чердак 20.10.2008, 17:47 |
только один метод обращается к базе за таблицей с данными - он как раз и не работает через "[mashine_name]\\IUSR_ASUS". А вот если написать не встроенное анонимное имя, у имя учетной записи, под которой я на комп захожу, то все работает. |
Автор: likegift 20.10.2008, 20:36 | ||
ну, еще бы, если учесть, что учетка наверно с правами админа, который имеет доступ к скл серверу. веб-сервис под каким пулом висит? погляди в свойствах пула под какой учеткой этот пул запускается и дай учетке права на базу в скл. |
Автор: Чердак 20.10.2008, 22:42 |
likegift, свойство пула - это в строке connction? Вот что у меня там: private string ConnectionString = "Data Source=ASUS;Initial Catalog=dbINVAB;Persist Security Info=True;User ID=sa;Password=*****"; А как учетке дать прова на базу sql? И еще такой вопрос, как занести в web.config ConnectionString и потом считать эту страку в коде? Или где эту строку хранить, чтобы ее можно было редактировать не компилируя код. |
Автор: likegift 21.10.2008, 16:25 | ||||||
погляди на скрин. вот в том окне, которое открывается на моем скрине написано network service. это значит, что любое приложение и сервис которые принадлежат этому пулу будет запускать свой процесс с правами данной учетки . если ты ничего не трогал, то у тебя он тоже там, по-умолчанию. можешь выбрать свою учетку, какую пожелаешь, под которой иис будет лезть в базу. ![]() добавить же эту учетку в базу можно через тот же Interprise Manager. что касаемо web.config-а.
а из кода вызываешь по разному. для VS2008 это как-то так:
|
Автор: Чердак 21.10.2008, 19:41 |
У меня IIS версии 5.1, и там Identity я не нашел. А вот что в кофиг пишу строку, но при ее вызове он мне возвращзает строку, которая где-то видимо по умолчанию забита, сервер там CQLExpress и база одна из 4-х стандартных. И вызвать можно не по имени, а вот как: config.connctionstrings.connectoinstring[0].Tostring(); |
Автор: likegift 21.10.2008, 19:46 | ||
боюсь спросить, какая студия?) |
Автор: Чердак 26.10.2008, 21:31 |
2005 ![]() IIS - поставил то что с виндой шло, а где можно более свежую версию достать? |