День добрый пытаюсь настроить bitrix на NTLM авторизацию.
Как делал:
1) Подключил модуль AD/LDAP в нем указал все необходимое.
2) Модуль быстро подцепил все группы домена. Затем поставив соответствие групп домена - группам битрикса, он быстро импортировал пользователей в свою базу. Все прошло отлично все пользователи рабочие.
3) Далее идём в настройки ставим галочку насчёт NTLM авторизация, выбираем домен для авторизации - созданный выше, проверяем соответствие имени серверной переменной имени в битриксе. Вроде все отлично.
4) Далее подключил модуль mod_auth_sspi.c для Аппача. Сервер на данный момент локален. Заходим под пользователем в домене - который так же есть в базе. На тестовом домене (просто взял файл екзампла whoami.php идущий с модулем) прописал в .htaccess строчки( См их ниже они пошли почти копи пастом, ну к ним добавились строчки битрикса) и всё отлично! Тестовая площадка радостно признала во мне меня и сказала что всё отлично!
5) А в вот битркс имел свой взгляд на все это и просто отказался. Выводится ошибка 401 без объявления войны - либо бейсик промт на логин и пароль(Если его включить конечно же, который мне честно говоря совершенно не нужен и противопоказан) Далее ставя полевые эксперименты было выявлено, что попадая в битрикс мы получаем пустую строчку $_SERVER['REMOTE_USER']. И вот тут мой пытливый ум встал в тупик. Что то мешает полёту стрелы и это точно не гора =(
Вот полный .htaccess.
Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.2.12 mod_auth_sspi/1.0.4
Заранее спасибо за помощь!
Как делал:
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
Заранее спасибо за помощь!