Проблема проверки подлинности Windows в ASP.NET
Привет, ребята. У меня есть проблема с проверкой подлинности windows в ASP.NET. Может быть, решение легко, но я сложился в одном месте и не могу двигаться вперед. Позвольте мне описать мою проблему.
Даже несмотря на то, что я поместил всю необходимую конфигурацию в web.config (я думаю, что поместил их все).
<system.web> <authentication mode="Windows"/> <authorization> <deny users"?" /> </authorization> </system.web>
Что я уже пробовал:
Я также включил Windows и анонимную аутентификацию в IIS. Проблема в том, что когда я пытаюсь войти в систему с помощью своих учетных данных локального пользователя (того, на котором я сейчас вошел в систему), ничего не происходит. Похоже, мои полномочия не работают. Я получаю форму для входа в систему каждый раз. Я пытался использовать имя пользователя с доменным именем и без него в самом начале, но без какого-либо эффекта.
Есть ли у вас какие-либо предложения, что я пропустил или что мне следует добавить/изменить?
F-ES Sitecore
Авторизация Windows происходит автоматически, вы ничего не делаете, вы не вводите имя пользователя или пароль, он просто знает, кто вы, от вашего вошедшего пользователя. Если вы включите доступ anon, то другие методы аутентификации не будут работать, так как первоначальная анонимная попытка завершится успешно, поэтому нет необходимости запрашивать учетные данные.
brzydkimech
Если и windows, и анонимная аутентификация включены, это верно, но, насколько я знаю, если мы добавим в web.config внутри узла авторизации <deny users"?"=""> запись, то анонимные пользователи больше не будут приниматься во внимание. Это означает, что будет использоваться аутентификация Windows. Но даже если я отключаю анонимную аутентификацию (включена только аутентификация windows), я все равно получаю всплывающее окно с формой для входа.
F-ES Sitecore
Если вы получаете всплывающее окно, то оно возвращается к базовой аутентификации. Это происходит в интрасети\локальной сети? Windows Auth работает только тогда, когда сервер IIS может распознать клиента, обычно потому, что они находятся в одном домене и т. д., Windows Auth не будет работать через интернет или в некоторых других обстоятельствах.
brzydkimech
У меня есть сервер IIS, веб-сайт и SQL-сервер на моей локальной машине, так что все работает в моей локальной сети/среде. Что интересно, когда я включаю только базовую аутентификацию и вхожу в систему со своими учетными данными (имя пользователя и пароль к моей машине), то это работает.
Richard Deeming
Вы заходите на сайт как http://localhost/...
, или вы используете имя компьютера (или пользовательский заголовок хоста)?
Если это последнее, то вы можете столкнуться с проблемой "проверки обратной связи":
При просмотре веб-сайта, использующего встроенную проверку подлинности и размещенного на IIS 5.1 или более поздней версии, появляется ошибка 401.1[^]
Nathan Minier
Стоит отметить, что у вас есть опечатка.
& lt;запретить пользователям"? " / & gt; должно быть
& lt;запретить пользователям="? " />