У меня есть приложение .NET 3.5, работающее под IIS 7 на сервере Windows 2003, и я не могу работать с интегрированной аутентификацией Windows, так как я продолжаю получать запрос на вход в систему. Я установил включенную проверку подлинности Windows в IIS со всеми другими типами безопасности, а проверка подлинности / авторизация файла моего приложения web.config настроена как:
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="3.5" />
<authenticationmode="Windows"/>
<authorization>
<deny users = "?" />
</authorization>
</system.web>
С этой настройкой я ожидаю за сценой проверки пользователя Windows, чтобы разрешить доступ и запретить анонимным пользователям. Тем не менее, я получаю всплывающее окно входа в Windows, когда я пытаюсь зайти на сайт.
Я устранял эту проблему в течение нескольких дней и не могу выяснить проблему. Основываясь на сообщениях со схожими проблемами, я подтвердил, что мой URL-адрес не содержит периодов, дважды проверил, что в моих настройках IE установлено значение «Включить встроенную проверку подлинности Windows», а также добавил свой URL-адрес на свои сайты в интрасети, но все еще получаю всплывающее окно.
Для дальнейшего устранения неполадок я включил анонимную аутентификацию в IIS и изменил свой файл web.config, к которому я могу подключиться, а затем добавил Response.Write (System.Security.Principal.WindowsIdentifity.getcurrent (). User.name. toString ()), чтобы попытаться увидеть, какой пользователь используется в аутентификации. В результате я получаю IIS APPPOOL \ myapp, который, очевидно, является пулом приложений IIS для моего приложения.
Я очень признателен за любую помощь, которую кто-либо может предоставить, так что я все еще использую только аутентификацию Windows, но не получаю всплывающее окно, и аутентификация Windows выполняется против фактического пользователя Windows.
Спасибо.
Дополнительные примечания после устранения неполадок:
Только что заметил, что при сбое входа в систему и появлении приглашения на вход в Windows снова отображается имя пользователя, которое попыталось войти в систему под именем «SERVERNAME» \ «USERNAME», что заставило меня поверить, что он пытался проверить пользователя на сервере против домена. Чтобы подтвердить это, я создал учетную запись локального пользователя непосредственно на сервере приложений с тем же именем пользователя и паролем, что и у пользователя сетевого домена, и попытался снова войти в систему. В результате я снова получил приглашение войти в систему, но когда на этот раз я ввел имя пользователя и пароль, я смог успешно войти в систему. Пользователь сети и сервер приложений находятся в одном домене, поэтому на самом деле не уверены, почему проверка подлинности IIS указывает на локальные учетные записи сервера приложений, а не на учетные записи домена. Я понимаю, что на данный момент это вопрос IIS, поэтому я также размещаю сообщения на forums.iis.net, но я ценю любые советы, которые кто-либо может получить с тех пор, как устранял это в течение нескольких дней.