Мы пытаемся заставить сервер приложений, на котором выполняется apache2 на centos 5.1, использовать NTLM для обеспечения единого входа для ряда приложений.
Мы можем заставить SSO работать с IE, однако SSO не работает с firefox. Мы обновили запись доверия NTLM в about: config в firefox. Однако это все еще не удается.
Наша текущая конфигурация apache выглядит так:
Alias /someapp "/opt/someapp/public"
<Directory "/opt/someapp/public/">
PerlAuthenHandler Apache2::AuthenNTLM
AuthType ntlm,basic
AuthName Basic
require valid-user
PerlAddVar ntdomain "MYDOMAIN primayad backupad"
PerlSetVar defaultdomain MYDOMAIN
PerlSetVar fallbackdomain MYDOMAIN
PerlSetVar splitdomainprefix 1
AllowOverride All
Order allow,deny
Allow from all
PerlSetVar ntlmdebug 3
#PerlSetVar ntlmauthoritative off
PerlsetVar basicauth off
</Directory>
Любые идеи, почему это будет работать для IE, но firefox получает диалоговое окно с запросом аутентификации пользователя ??
Спасибо,
Грант
Это связано с тем, что IE по умолчанию выполняет глобальную проверку подлинности NTLM, Firefox пошел другим путем и пытается выполнить проверку подлинности NTLM только тогда, когда он явно настроен для этого, и в противном случае игнорирует проблемы SPNEGO.
Вам нужно открыть about:config
в Firefox и отфильтруйте, чтобы найти network.automatic-NTLM-auth.trusted-uris которые по умолчанию не будут иметь значений. Вам необходимо ввести имена хостов, соответствующие хостам, на которых вы хотите выполнить аутентификацию NTLM. я прочел другие сайты которые предлагают разместить полностью определенные URL-адреса, но я хорошо использовал .domain.example.com для наших внутренних хостов, контролируемых доменом Active Directory.
Одно предостережение заключается в том, что это будет работать для Firefox на машине с Windows, но у меня не было успеха на машине с Linux, даже если она была присоединена к домену AD в качестве члена.