День добрый пытаюсь настроить bitrix на NTLM авторизацию.
Как делал:
1) Подключил модуль AD/LDAP в нем указал все необходимое.
2) Модуль быстро подцепил все группы домена. Затем поставив соответствие групп домена - группам битрикса, он быстро импортировал пользователей в свою базу. Все прошло отлично все пользователи рабочие.
3) Далее идём в настройки ставим галочку насчёт NTLM авторизация, выбираем домен для авторизации - созданный выше, проверяем соответствие имени серверной переменной имени в битриксе. Вроде все отлично.
4) Далее подключил модуль mod_auth_sspi.c для Аппача. Сервер на данный момент локален. Заходим под пользователем в домене - который так же есть в базе. На тестовом домене (просто взял файл екзампла whoami.php идущий с модулем) прописал в .htaccess строчки( См их ниже они пошли почти копи пастом, ну к ним добавились строчки битрикса) и всё отлично! Тестовая площадка радостно признала во мне меня и сказала что всё отлично!
5) А в вот битркс имел свой взгляд на все это и просто отказался. Выводится ошибка 401 без объявления войны - либо бейсик промт на логин и пароль(Если его включить конечно же, который мне честно говоря совершенно не нужен и противопоказан) Далее ставя полевые эксперименты было выявлено, что попадая в битрикс мы получаем пустую строчку $_SERVER['REMOTE_USER']. И вот тут мой пытливый ум встал в тупик. Что то мешает полёту стрелы и это точно не гора =(
Вот полный
.htaccess.Код |
---|
Options -Indexes
ErrorDocument 404 /404.php
<IfModule mod_php5.c>
php_flag allow_call_time_pass_reference 1
php_flag session.use_trans_sid off
#php_value display_errors 1
#php_value mbstring.func_overload 2
#php_value mbstring.internal_encoding UTF-8
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
</IfModule>
<IfModule mod_auth_sspi.c>
AuthName "Private"
AuthType SSPI
SSPIAuth On
SSPIPackage NTLM
SSPIDomain DOMEN
SSPIPerRequestAuth On
SSPIAuthoritative On
SSPIOfferBasic off
Require valid-user
</IfModule> |
Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.2.12 mod_auth_sspi/1.0.4
Заранее спасибо за помощь!