我发现我可以通过以下代码访问HTTP Authorization标头
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
不幸的是我不明白如何从base64解码它然后拆分用户名和密码。
当然,在apache配置之外执行此操作非常容易,但我需要在配置中使用用户名和密码才能将它们传递给LDAP授权模块。
其实我想做这样的事情:
<Directory "C:/my/directory">
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
AuthType Basic
AuthName "Trac"
AuthBasicProvider "ldap"
AuthLDAPURL "ldap://domain.local:3268/DC=domain,DC=local?sAMAccountName?sub?> (objectClass=user)"
AuthLDAPBindDN %{HTTP_USER}@domain.local
AuthLDAPBindPassword %{HTTP_PASSWORD}
AuthzLDAPAuthoritative off
Require valid-user
</Directory>
我需要这个,因为我们的LDAP服务器不接受匿名请求。
答案 0 :(得分:0)
基本上,您应该创建专用的LDAP用户进行授权。
与HTTP_AUTHORIZATION标头相关,请检查RFC2617 http://www.ietf.org/rfc/rfc2617.txt
这取决于您使用的是哪种身份验证方案。从BASIC方案中,您可以解码USERNAME和PASSWORD,但其他可能无法解码(NTLM)。