有没有办法从Apache2配置中的HTTP授权头获取密码?

有没有办法从Apache2配置中的HTTP授权头获取密码?,apache,passwords,apache2,basic-authentication,Apache,Passwords,Apache2,Basic Authentication,我发现我可以通过以下代码访问HTTP授权头 RewriteEngine on RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 不幸的是,我不明白如何从base64解码它,然后拆分用户名和密码 当然,在apache配置外部执行此操作非常容易,但我需要配置内部的用户名和密码,以便将它们传递给LDAP授权模块 实际上我想做这样的事情: <Directory "C:/my/directory"> WSG

我发现我可以通过以下代码访问HTTP授权头

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>

WSGIApplicationGroup%{GLOBAL}
命令拒绝,允许
通融
AuthType Basic
AuthName“Trac”
AuthBasicProvider“ldap”
AuthLDAPURL“ldap://domain.local:3268/DC=domain,DC=local?sAMAccountName?sub?>(objectClass=user)
authldappbinddn%{HTTP_USER}@domain.local
authldappbindpassword%{HTTP_PASSWORD}
authzldapoff
需要有效用户

我需要这个,因为我们的LDAP服务器不接受匿名请求。

基本上,您应该创建专用的LDAP用户进行授权

与HTTP_授权头相关,请检查RFC2617

这取决于您使用的身份验证方案。从基本方案可以解码用户名和密码,但从其他方案可能无法(NTLM)解码