bro*_*eld 8 authentication http-headers apache-2.2
在 Windows 上使用带有 mod_auth_sspi 和 mod_headers 的 Apache 2.2。我正在尝试将当前经过身份验证的用户传递到 X-Remote-User 标头中的代理目标。
我希望这很简单,但是我已经与 Apache 争论了一个小时,在文档或谷歌中找不到秘诀。
我的配置如下。它使用 Active Directory 正确验证用户,然后将请求代理到位于后面的服务器。但是,不会添加 X-Remote-User 标头。似乎 REMOTE_USER 环境变量不存在。AUTH_USER 也不行。
我知道经过身份验证的用户名在某处可用,但我如何获得它?
ProxyRequests off
ProxyPass /clsoap/ http://127.0.0.1:12001/clsoap/
<Location /clsoap/>
ProxyPassReverse /clsoap/
AuthName "ADTest"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain primary.example.com
SSPIUsernameCase lower
SSPIOfferBasic Off
Require valid-user
RequestHeader set X-Remote-User "%{REMOTE_USER}e" env=REMOTE_USER
RequestHeader set X-Auth-User "%{AUTH_USER}e" env=AUTH_USER
</Location>
Run Code Online (Sandbox Code Playgroud)
好极了。另一个谷歌会话后来尝试了不同的随机关键字,我发现了这个:
http://www.ruby-forum.com/topic/83067
http://old.nabble.com/Forcing-a-proxied-host-to-generate-REMOTE_USER-to2911573.html#a2914465
这现在有效:
ProxyRequests off
ProxyPass /clsoap/ http://127.0.0.1:12001/clsoap/
<Location /clsoap/>
ProxyPassReverse /clsoap/
AuthName "ADTest"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain primary.example.com
SSPIUsernameCase lower
SSPIOfferBasic Off
Require valid-user
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} (.+)
RewriteRule . - [E=RU:%1]
RequestHeader set X-Remote-User "%{RU}e" env=RU
</Location>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27238 次 |
| 最近记录: |