«Ошибка входа пользователя» при попытке использовать проверку подлинности Windows - PullRequest
2 голосов
/ 05 октября 2011

В моем ASP.NET web.config у меня есть строка подключения:

initial catalog=DatabaseName; data source=(local); Integrated Security=SSPI;MultipleActiveResultSets=True; Connect Timeout=200;

Я использовал эту строку подключения для проверки подлинности Windows, но теперь я получаю сообщение об ошибке:

Login failed for user ''.

Это похоже на ошибку аутентификации SQL, и имя пользователя пустое, поскольку я не указал ни имя пользователя, ни пароль.

Почему приложение пытается SQL-аутентификацию, а не Windows?

Как я могу решить эту проблему?

1 Ответ

3 голосов
/ 05 октября 2011

Чтобы ваша строка подключения работала из приложения ASP.NET, ваш запрос должен выполняться под идентификатором пользователя, который может получить доступ к SQL Server. По умолчанию он будет использовать идентификатор рабочего процесса пула приложений, и обычно этот идентификатор является локальным пользователем (на сервере), который не имеет доступа к SQL Server. Поэтому вы можете попытаться изменить эту личность, чтобы посмотреть, поможет ли это.

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

Если вы все еще сталкиваетесь с проблемой, то вы можете столкнуться с проблемой двойного прыжка , связанной с аутентификацией Windows (см. Две ссылки в статье для получения дополнительной информации и устранения неполадок).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...