У меня есть приложение .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 на этом этапе, поэтому отправляйте его на forums.iis.net, но оцените любые советы, которые могут возникнуть с тех пор, как это устраняло проблемы в течение нескольких дней.