启用Apache http授权标头

bit*_*orn 3 php apache authorization http-headers

我写的APIPHP ZF2他们使用HTTP授权.我取了所有的HTTP标题apache_request_headers()(也用ZF2测试过$this->getRequest()->getHeaders()).

它适用于我的语言环境安装版本.但是在我的服务器上,HTTP授权标头不可用.我的浏览器调试工具向我显示授权标头正确发送.

这两个服务器都使用相同的软件运行:Ubuntu 14.04Apache2(服务器版本:阿帕奇/ 2.4.7(Ubuntu的)).

启用apache2模块(auth_basic已启用): 启用了Apache2模块

是否有PHP ini允许授权标头的设置?

编辑2015-05-13:

$headers = apache_request_headers();
if (isset($headers['Authorization'])) {
    echo 'you are auth';
} else {
    echo 'there is no Authorization';
}
Run Code Online (Sandbox Code Playgroud)

在我的语言环境系统上,这将在服务器上返回"你是auth","没有授权".在Chrome浏览器中使用Postman应用进行测试.

编辑2015-05-14:我认为这是一个Apache2主题.

如何在Apache2中启用Authorization标头?

bit*_*orn 11

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Run Code Online (Sandbox Code Playgroud)

在.htaccess中解决了这个问题.

但我不知道为什么在我的语言环境系统上没有必要这样做.

  • 即使我在 URL 中提供身份验证,这也只会产生一个空变量(就好像 $1 是空字符串一样)... (2认同)