Apache 上的 LDAP 身份验证拒绝有效凭据

Apache 上的 LDAP 身份验证拒绝有效凭据

我正在尝试将我的 LDAP 与专用于我的 SVN 存储库的 Apache 2.4 服务器链接起来,因此我使用 Apache modsdav_svnauthnz_ldap。LDAP 可以自行正常工作。

我可以设法将服务器与管理员 DN 绑定,并搜索我需要的用户。

连接时,如果用户不存在,则会出现 [无此对象] 错误(耶!)。但是,如果用户存在,LDAP 始终会返回 [无效凭据] 错误,即使密码正确。

这是 Apache error.log 的结尾

[authnz_ldap:debug] [pid 9243:tid 2990508864] mod_authnz_ldap.c(516): [client ::1:46639] AH01691:
auth_ldap authenticate: using URL ldap://my_ldap_ip:port/ou=aaaa,dc=company,dc=fr?uid?sub

[ldap:debug] [pid 9243:tid 2990508864] util_ldap.c(379): AH01278: 
LDAP: Setting referrals to On.

[authnz_ldap:info] [pid 9243:tid 2990508864] [client ::1:46639] AH01695:
auth_ldap authenticate: user mr.myself authentication failed; URI /svn/ [ldap_simple_bind() to check user credentials failed][Invalid credentials]

[auth_basic:error] [pid 9243:tid 2990508864] [client ::1:46639] AH01617:
user mr.myself: authentication failure for "/svn/": Password Mismatch

这是我的配置文件

<VirtualHost domain:443>
    ServerName domain
    SSLEngine On
    SSLCertificateFile /path/to/ssl/cert.pem
    SSLCertificateKeyFile /path/to/ssl/key.pem
    SSLProtocol all
    SSLCipherSuite HIGH:MEDIUM

    <Location /svn>
        DAV                 svn
        SVNParentPath       /path/to/svn/repositories
        SVNListParentPath   ON

        AuthType            Basic
        AuthName            "a nice message"

        AuthBasicProvider   ldap
        AuthLDAPURL         ldap://my_ldap_ip:port/ou=aaaa,dc=company,dc=fr?uid?sub
        AuthLDAPBindDN      cn=mr-admin,ou=cccc,ou=bbbb,dc=company,dc=fr
        AuthLDAPBindPassword clear_password

        <RequireAll>
            Require         valid-user
            Require         ssl
            Require         ldap-group cn=svngroup,ou=ffff,ou=eeee,ou=dddd,dc=company,dc=fr
        </RequireAll>
    </Location>
</VirtualHost>

除了这个文件之外,我添加到 Apache 的唯一配置是“收听 443“在 ports.conf 中

你知道问题出在哪里吗?我已经搜索了一段时间了,我需要尽快解决这个问题。

感谢阅读(抱歉我的英语不好)

------- 编辑:附加详细信息

  • 这是我的全部代码

  • 为了清楚起见,我只更改了域、路径、 DN 名称和 bindDN 密码。

  • 当我uid改成cn

  • 以下是 ldapsearch 的结果

ldapsearch -x -H ldap://my_ldap_ip:port/ -D cn=mr.myself,ou=gggg,ou=aaaa,dc=company,dc=fr -w 'p4(sSwo]rd' -v 
ldap_initialize( ldap://my_ldap_ip:port/??base ) 
ldap_bind: Invalid credentials (49) 

ldapsearch -x -H ldap://my_ldap_ip:port/ -D cn=mr.myself,ou=gggg,ou=aaaa,dc=company,dc=fr -w p4(sSwo]rd -v 
bash: syntax error near unexpected token "("

答案1

谢谢您的帮助。

这是有效配置,问题出在我们的 LDAP 中。我重置了密码,一切正常。

相关内容