Я хочу сделать автоматический вход в интранет. Наша инфраструктура следующая (ее нельзя изменить):
- Веб-сервер: Apache + PHP, под доменным именем
test.local
- Сервер Active Directory под доменным именем
ldap.local
Я установил authnz_sspi_module
на веб-сервер и настроил .htaccess
:
AuthName "test"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain ldap.local
SSPIOmitDomain On
SSPIOfferBasic Off
SSPIBasicPreferred Off
SSPIOfferSSPI On
Require valid-user
В Firefox about:config
я изменил network.automatic-ntlm-auth.trusted-uris
на test.local
.
Затем Firefox не запрашивает имя пользователя и пароль, но сразу же печатает 401 Unauthorized
. Apache печатает в журнале ошибок, что имя пользователя или пароль неверны и что пользователь неизвестен.
В Chrome (без дополнительной настройки) он запрашивает учетные данные, когда я их предоставляю, я также получаю ошибку 401.
Я включил проверку NTLM на сервере Windows. При регистрации в журнале событий Chrome в журнале событий появляется два события - Audit Success
, где идентификатор безопасности предоставляется имя пользователя для домена и второй Audit Failure
с идентификатором безопасности NULL SID
.
При вводе страницы из Firefox создается только одно событие - Audit Failure
с идентификатором безопасности NULL SID
.
Когда я включаю обычную проверку подлинности, Firefox дважды запрашивает имя пользователя и пароль и перенаправляет на www.test.local
и говорит, что соединение было reset.
Возможно, сервер Windows настроен неправильно? Я весь день искал веб и пробовал разные конфигурации, никто не работал. Одна конфигурация работала с запросом пользователя на имя пользователя и пароль, однако я больше не могу повторять это.
Кто-нибудь знает, где проблема и как заставить ее работать?