Интегрированная проверка подлинности Windows не работает только в IE

Интегрированная проверка подлинности Windows не работает только в IE

На моем сайте есть одна папка, которая не разрешает анонимный доступ. Она настроена на использование встроенной аутентификации Windows, так как находится на домене AD. Вход в систему работает нормально в Firefox, Chrome, даже Safari, но не в IE8. Кто-нибудь сталкивался с этим раньше? Я не могу найти никого с похожей проблемой, за исключением того, что вход не удается во всех браузерах, конечно.

решение1

Скорее всего, это связано с неисправностью SPN.

Я подозреваю, что браузеры, не принадлежащие Microsoft, не поддерживают Kerberos (или, по крайней мере, не делают этого так, как IE).

Это означает, что IE может пытаться выполнить вход через Kerberos, тогда как другие могут использовать NTLM.

Если SPN существует для http/www.example.com или host/www.example.com, и он не принадлежит учетной записи, которая запускает пул приложений, это может быть веской причиной для такого типа прерывания.

В Windows 2008 или более поздней версии: SETSPN -Xбудет выполнена проверка на наличие дубликатов; SETSPN -Q http/www.example.comбудет выполнен поиск владельцев конкретного SPN.

Решите проблему с SPN, и вы, вероятно, исправите проблемы со входом в систему IE.

В других руководствах вам могут посоветовать отключить встроенную проверку подлинности Windows в дополнительных свойствах IE; это глупый шаг, который нарушает работу Kerberos для всего и скрывает проблему.

Болеездесь.

решение2

Это было упомянуто мимоходом в одном из комментариев, но я хотел бы указать на это конкретно, на случай, если кто-то еще найдет это полезным. У меня была та же проблема, и я смог решить ее, изменив идентификатор пула приложений. Это находится в разделе «Расширенные настройки» для данного пула приложений.

Кто-то установил это значение на «AppPoolIdentity», но мне пришлось вернуть его на «NetworkService», чтобы устранить проблему.

(Я пытался разместить изображение, но, видимо, мне нужно больше репутации. Если кто-то проголосует за этот ответ, я смогу добавить изображение.)

решение3

Похоже, что ответ на неисправный SPN правильный. Это означает, что вам, возможно, придется указать на проблему в ваш IT/IS отдел, если вы хотите правильно настроить Kerberos.

Я не рекомендую решение «отключить встроенную проверку подлинности Windows», поскольку оно требует от обычных пользователей зайти и нажать на что-то, на изменение чего у них может даже не быть разрешения в зависимости от того, как администраторы настроили IE.

В случае, если настройка Kerberos не будет исправлена ​​в ближайшее время, более гибким решением будет перейти в приложение в IIS, нажать «Аутентификация», выделить строку «Аутентификация Windows» (которая должна быть отмечена как включенная, а все остальное отключено), а затем нажать ссылку «Поставщики...» справа. Скорее всего, там будет две записи: «Согласование» и «NTLM», с «Согласованием» наверху. Переместите NTLM наверх. Хотя это заставит ваш сайт использовать NTLM, что является риском для безопасности, но это единственный вариант, если Kerberos недоступен.

решение4

Chrome запросил пароль один раз и успешно.

IE трижды запросил мой пароль, и я получил ошибку 401 «Несанкционированный доступ».

Моя проблема в том, что и IE, и Chrome запросили у меня учетные данные для двух разных серверов. Причиной запроса учетных данных, скорее всего, является смена пароля на прошлой неделе.

Хромподсказали мне с моей учетной записью домена. МойДомен\МойИдентификаторПользователя

НоIEпобудило меня кThisServerUrl.com\MyUserId (что, конечно же, не удалось, так как этого пользователя не существует на сервере, но что еще хуже — URL не имеет ничего общего с именем сервера — M$, о чем ты думаешь???)

Надеюсь, это поможет следующему бедолаге, столкнувшемуся с той же проблемой.

Связанный контент