这可能是因为Apache 2.4使用了使用简单绑定的LDAP身份验证,在第一次尝试身份验证时无法正确处理响应。
要解决此问题,请在httpd.conf或vhost.conf文件中使用以下参数启用基于NTLM的LDAP身份验证:
AuthLDAPBindAuthDN "CN =用户名,OU =用户名组,DC =example,DC =com"
AuthLDAPBindPassword "密码"
AuthLDAPUrl "ldap:// ldap.example.com:389 / dc = example,dc = com?sAMAccountName?sub?(objectClass =*)"
注意:将这些参数替换为实际的LDAP绑定DN,密码和URL。
此外,以下指令应在.htaccess文件中使用:
AuthType Basic
AuthName "LDAP验证"
AuthBasicProvider ldap
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule . - [E=HTTP_AUTHORIZATION:%1]
关于第一次身份验证失败但第二次成功的问题,仍不清楚具体原因,可能是某些缓存或权限问题。使用上述解决方法可以解决此问题。