вторник, 15 мая 2012 г.

Ntlm авторизация в Apache

Вместо устаревшего mod_ntlm предлагаю использовать libapache2-authenntlm-perl
apt-get install libapache2-authenntlm-perl 

Для использования  .htaccess, надо добавить "AllowOverride All" в http.conf

Содержимое .htaccess:

PerlAuthenHandler Apache2::AuthenNTLM
AuthType ntlm
AuthName "DC.LAN"
#require user username1
require valid-user

PerlAddVar ntdomain "DC.LAN dcserver1 dcserver2"
PerlSetVar defaultdomain DC.LAN
PerlSetVar ntlmsemtimeout 2
PerlSetVar ntlmdebug 0
PerlSetVar splitdomainprefix 1

Онлайн документация:
http://search.cpan.org/~speeves/Apache2-AuthenNTLM-0.02/AuthenNTLM.pm

Определение пользователя в PHP:

<?php echo "You are logged in as <b>" . $_SERVER['REMOTE_USER'] . "</b>"; ?>

Настройки у клиентов:
В Windows для автоматического входа, надо добавить ресурс в Местную Интрасеть.
http://windows.microsoft.com/ru-RU/windows-vista/Security-zones-adding-or-removing-websites

В Windows 7 дополнительно включить использование NTLMv1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\LMCompatibilityLevel 1
http://support.microsoft.com/kb/954387/ru


Если в LAN используется прокси сервер, то необходимо добавить в исключения для вашего ресурса.

Для Firefox надо включить поддержку NTLM для Вашего сайта:В адресной строке вводим - about:configИщем параметр - network.automatic-ntlm-auth.trusted-urisВводим url нашего внутреннего сайта - http://corp.dc.lan

Opera не поддерживает прозрачную аунтентификацию и будет запрашивать пароль при открытии сайта.

Комментариев нет:

Отправить комментарий