Symfony 和 NTLM - 缺少 Apache header 授权

Symfony & NTLM - Apache header authorization missing

我是 运行 Symfony 3.4 LTS,我在尝试使用 NTLM 身份验证时遇到问题。

根据记录,在我的服务器上我得到:

Wordpress 和 Typo3 使用 NTLM 身份验证:

<?php

$headers = apache_request_headers();
// then $headers['Authorization'] contains a big string with all the needed datas

?>

.. 但我不能在 Symfony 上使用这个脚本,因为 apache_request_headers() 函数没有授权 header return。我在 Stack Overflow 中进行了一些搜索,但没有帮助我解决问题。

我试过了:

你有什么想法吗? 顺便说一句,我不想​​编辑我的 vhost 文件,因为我的其他 2 个网站运行良好。

我猜你使用的是 php-fpm 而不是 mod_php。

你错过了吗:

SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=

在 FPM 处理程序之前的 apache 配置中?

我找到了解决办法。在我的代码中,我添加了:

<?php

        if (!isset($headers['Authorization']))
        {
            header('HTTP/1.1 401 Unauthorized');
            header('WWW-Authenticate: NTLM');
            exit;
        }

.. 就在 apache_request_headers() 函数之后。现在我可以访问 Authorization header.