У меня есть приложение .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 отображается снова, он показывает имя пользователя, который пытался войти в систему как «ИМЯ СЕРВЕРА» \ «ИМЯ ПОЛЬЗОВАТЕЛЯ», что заставило меня поверить, что он пытался проверить пользователя на сервере, а не на домен. Чтобы подтвердить это, я создал локальную учетную запись пользователя непосредственно на сервере приложений с тем же именем пользователя и паролем, что и пользователь сетевого домена, и попытался войти снова. В результате я снова получил приглашение для входа в систему, но когда на этот раз я ввел имя пользователя и пароль, я смог успешно войти в систему. Сетевой пользователь и сервер приложений находятся в одном домене, поэтому действительно не уверен, почему проверка подлинности IIS указывает на учетные записи локального сервера приложений, а не на учетные записи домена. Я понимаю, что на данный момент это вопрос IIS, поэтому отправляйте его на forum.iis.
<authentication mode="Windows" />
Надеюсь, это была опечатка в вашем вопросе?