我有一台配置了 SVN 服务器的 CentOS 7 服务器,还有另一台安装了 LDAP 的 Windows Server 2012R2 服务器,我将其用作域控制器。我可以使用ldap搜索与 Windows 服务器通信。
嗯,我现在的问题是,当我尝试通过浏览器登录 svn 服务器时,无论我输入什么,都会出现内部错误(500)。
这是我的 ldap 配置/etc/httpd/conf.moudules.d/10-subversion.conf
:
Alias /svn /var/www
<Location />
DAV svn
SVNParentPath /var/www
AuthType Basic
LDAPReferrals Off
AuthBasicAuthoritative on
AuthBasicProvider ldap
AuthName "SVN Server Login"
AuthLDAPURL ldap://172.20.2.3:389/,dc=syd,dc=domain,dc=com?sAMAccountName?sub?(ObjectClass=*) NONE
AuthLDAPBindDN syd\admin
AuthLDAPBindPassword adminpassword
Require valid-user
</Location>
我收到了如下错误信息:
[Thu May 12 09:55:02.382284 2016] [authnz_ldap:info] [pid 9720] [client 172.19.12.2:61673] AH01695: auth_ldap authenticate: user a.b1 authentication failed; URI /repo [ldap_search_ext_s() for user failed][Invalid DN syntax]
任何帮助都将不胜感激。谢谢。
答案1
您的 AuthLDAPURL 中的基础看起来是错误的,在端口/斜线后面有一个逗号:
AuthLDAPURL ldap://172.20.2.3:389/,dc=syd,dc=domain,dc=com?sAMAccountName?sub?(ObjectClass=*) NONE
请尝试:
AuthLDAPURL ldap://172.20.2.3:389/dc=syd,dc=domain,dc=com?sAMAccountName?sub?(ObjectClass=*) NONE
但实际上,只需从Apache 文档
AuthLDAPBindDN [email protected]
AuthLDAPBindPassword password
AuthLDAPURL ldap://10.0.0.1:3268/?userPrincipalName?sub
如果希望用户仅使用登录名而不是 upn 登录,则可以使用 samaccountname 而不是 userPrincipalName。