2010-05-21 2 views
0

Я использую dbml для моего уровня доступа к данным, чтобы предоставить данные, которые мне нужны в моем приложении. Когда я подключаюсь к серверному проводнику, все кажется прекрасным. Я предпочитаю использовать свою проверку подлинности Windows, и проверка соединения показывает, что все работает нормально. Когда я создаю свое решение и запускаю его в своем IIS, он говорит, что я использую логин, который не работает. Как решить эту проблему?SqlException: Login failed для пользователя

ответ

2

Веб-сайт будет регистрироваться на сервере SQL Server, используя идентификатор пула приложений веб-сайта, вы должны предоставить доступ к базе данных пользователю (обычно сетевому сервису).

+0

Thx! за ваш комментарий! – Younes

+0

Или Создать другого пользователя, предоставить пользователю доступ к базе данных Sql. Затем запустите пул приложений веб-сайта с помощью этого пользователя. –

0

Вы указали подходящую строку соединения в своем web.config?

1

Когда вы пытаетесь подключиться к серверу-проводнику и выбрали аутентификацию Windows, он использует в настоящее время зарегистрированного пользователя для аутентификации с помощью sql-сервера. Вы должны быть авторизованы как Администратор локальной системы, чтобы он мог использовать проверку подлинности Windows.

Но при запуске приложения через IIS, и попытаться проверить подлинность с помощью окна аутентификации он использует локальная система aspnet_user учетную запись для аутентификации, которые не должны иметь разрешение на доступ к базе данных. Вам необходимо, чтобы авторизовался aspnet_user для доступа к вашей базе данных, и он будет работать.

Рекомендуемая практика является не проверку подлинности с помощью окна проверку подлинности, но использовать SQL сервер проверки подлинности, который будет работать в любом контексте.

Смежные вопросы