我有一个主机,需要通过身份验证的用户位于某个ldap组中。这工作得很好。之后,我需要一个本地存储在文件中的外部用户,该用户不起作用。
当我注释掉用户可以使用的所有ldap行时,便可以正确创建文件并且可以通过Apache 2.2访问该文件,但是当我添加ldap时,一切对ldap用户有效,而对文件用户无效。
当我尝试使用密码错误的本地文件用户登录时,像往常一样再次获得登录弹出窗口,但是当我插入正确的凭据时,我得到“ 需要授权 该服务器无法验证您是否有权访问所请求的文档。您提供的凭据错误(例如密码错误),或者浏览器不了解如何提供所需的凭据。”
以下是我对Apache 2.2的设置
<Location "/">
Deny from all
AuthType Basic
AuthName "My Auth"
AuthBasicProvider ldap file
AuthLDAPURL LDAP_URL
AuthUserFile "path/to/pass/file"
Require user file_user
Require ldap-group cn=LDAP Group,cn=Groups,dc=DC,dc=org
Require ldap-user ldap_user_outside_group
Satisfy any
</Location>
答案 0 :(得分:1)
您可能需要AuthzLDAPAuthoritative
才能使匹配基于ldap的Require指令的失败不会致命。在2.4的内部改进中,这种指令在更高版本中已过时。