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

Часто проблема возникает в результате работы php в режиме CGI. В этом режиме есть проблемы с передачей данных авторизации HTTP в php. Можно это проверить, посмотрев phpinfo(): Server API: CGI Можно обойти проблему, но необходимо чтобы на сервере была включена обработка .htaccess и поддержка mod_rewrite. Выполните следующие действия:


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

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


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

    • #<ifmodule mod_rewrite.c="">
      # RewriteEngine Off
      #</ifmodule>


      • В файл 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);


        Для проверки работоспособности HTTP-авторизации воспользуйтесь скриптом: http://ru2.php.net/manual/ru/features.http-auth.php Внимание! Данный вариант обхода не всегда может решить проблему. Если при выполнении всех рекомендаций HTTP-авторизация не заработала, то следует обратиться к хостинг-провайдеру с этой проблемой.