среда, 2 мая 2012 г.

Не работает HTTP авторизация в CMS Bitrix

Отсюда:
http://forum.hostdvor.com/viewtopic.php?f=35&p=119
http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=35&LESSON_ID=1967 (офсайт)

Форматирование - оригинальное, так что все плевки о грязи в коде - в оригинал.


Ошибка: Не работает авторизация при обмене данными с 1С в Bitrix CMS.

Среда: php 5.3.8 as fcgi SAPI; 

Решение: Часто проблема возникает в результате работы php в режиме FCGI (fast cgi). 
В этом режиме есть проблемы с передачей данных авторизации HTTP в php. Проверить работу HTTP авторизации можете в админ. панели Битрикс -> Рабочий стол -> Настройки -> Инструменты -> Проверка сайта

или по прямой ссылке:

http://имясайта.com/bitrix/admin/site_checker.php

Для решения данной проблемы попробуйте выполнить такие действия:

1) В корне сайта в файл .htaccess добавьте строки:


КОД: ВЫДЕЛИТЬ ВСЁ
RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]


2) Закоментируйте следующие строки в файле bitrix/admin/.htaccess, которые отключают mod_rewrite:


КОД: ВЫДЕЛИТЬ ВСЁ
#<ifmodule mod_rewrite.c="">
# RewriteEngine Off
#</ifmodule>


3. В файл bitrix/php_interface/dbconn.php добавьте строки:

КОД: ВЫДЕЛИТЬ ВСЁ
$remote_user = $_SERVER["REMOTE_USER"] 
? $_SERVER["REMOTE_USER"] : $_SERVER["REDIRECT_REMOTE_USER"];
$strTmp = base64_decode(substr($remote_user,6));
if ($strTmp)
    list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $strTmp);


Внимание: на сервере должна быть включена поддержка rewrite rules и правил .htaccess.

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

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