带有“ ldap文件”提供程序的BasicAuth不适用于文件中的用户

时间:2018-08-13 14:58:46

标签: apache server ldap basic-authentication apache2.2

我有一个主机,需要通过身份验证的用户位于某个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>

1 个答案:

答案 0 :(得分:1)

您可能需要AuthzLDAPAuthoritative才能使匹配基于ldap的Require指令的失败不会致命。在2.4的内部改进中,这种指令在更高版本中已过时。