Не работает авторизация при обмене данными сайта с 1С?

Такая проблема зачастую возникает в результате работы php в режиме CGI. Установлено, что при работе в этом режиме есть сложности с передачей данных авторизации HTTP в php. Это легко проверить – посмотрите phpinfo(): Server API: CGI. Проблему можно устранить, но обязательное условие для решения проблемы с авторизацией при обмене данных с 1С – на сервере должна быть включена обработка .htaccess и поддержка mod_rewrite. Предлагаем вам выполнить следующий алгоритм:

1. в корне сайта в файл .htaccess нужно добавить следующие строки:

  RewriteEngine on

  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

2. теперь закомментируйте строки в файле bitrix/admin/.htaccess, которые отключают mod_rewrite:

#<ifmodule mod_rewrite.c="">

  # RewriteEngine Off

  #</ifmodule>

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

  ? $_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);

4. проверьте работоспособность HTTP-авторизации.

Если при выполнении наших рекомендаций HTTP-авторизация не заработала, то необходимо обратиться  к хостинг-провайдеру. Надеемся, наша статья была вам полезна.


Возврат к списку