Я настроил Apache для использования mod_auth_kerberos
. Пока все работает нормально для клиента, который подключен к Active Directory и в браузере включен NTLM.
Когда клиенты не находятся в домене или браузер не настроен на автоматическую аутентификацию, они получают 2 приглашения входа в систему.
Первое приглашение для входа в систему пустое, а второе - это то, что мы настроили.
Подсказка для первого входа:
Второе приглашение для входа:
Из журнала (первая аутентификация):
[Wed Jan 06 15:47:29 2010] [debug] src/mod_auth_kerb.c(1684): [client x.x.x.x] [pid 2562] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
В первой строке входа в систему я могу ввести любой текст для имени пользователя и пароля. После того, как первая форма входа будет отправлена, она запросит вторую строку входа в систему.
У Apache есть следующая конфигурация:
<Directory /web/apache2/htdocs>
AllowOverride All
AuthType Kerberos
AuthName "Staff Access ONLY Kerb-Auth"
KrbAuthRealms EXAMPLE.COM
Krb5Keytab /etc/httpd/conf.d/example.ktab
Allow from localhost
Require valid-user
<Directory>
Что могло быть причиной первой аутентификации и как от них избавиться?
Только IE подскажет вам дважды. Например, Firefox будет отображать только настроенное приглашение для входа в систему. Чтобы решить эту проблему, вам нужно будет добавить конкретный веб-сайт в вашу «локальную интрасеть» или на «доверенные сайты» (Свойства обозревателя -> вкладка «Безопасность» -> «Местная интрасеть»). Я уже не уверен, какой именно, но я думал, что это «местная интрасеть».