这里有个问题。我有一个域(AD),我需要通过 AD 登录 SVN 用户。
- 直流:10.20.3.30
- Svn 服务器位于 freebsd 上,但不在域中
- Apache 2.4
- AD 读取用户:OU SVN 中的“svnr”。
- Svnr 用户已测试并可以登录到域。
- Apache 加载的模块:mod_ldap、mod_authnz_ldap、mod_authz_svn、mod_dav_svn
- 在同一服务器上,lighsquid 通过 NET::LDAP 从 AD 读取用户。
Svn 与文件身份验证配合得很好。如果我尝试以任何域用户身份登录,它会拒绝,并且 apache 日志会显示“密码不匹配”。
httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/www/svn"
ServerName svn
ServerAlias svn.domain.ru
ErrorLog "/var/log/svn.error.log"
CustomLog "/var/log/svn.access.log" common
<Location />
DAV svn
SVNParentPath /usr/local/www/svn
SVNListParentPath on
AuthType Basic
AuthName "SVN Server"
AuthBasicProvider ldap
AuthLDAPURL "ldap://10.20.3.30:389/DC=domain,DC=ru?sAMAccountName?sub?(objectClass=*)" NONE
AuthLDAPBindDN "CN=svnr,OU=SVN,DC=domain,DC=ru"
AuthLDAPBindPassword 123
Require valid-user
</Location>
</VirtualHost>
如果我尝试使用 ldapsearch 我会得到以下信息:
ldapsearch -h 10.20.3.30 -D "CN=svnr,OU=SVN,DC=domain,DC=ru" -b "dc=domain,dc=ru" -x -W
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
additional info: 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1
ldapsearch -d5 的调试 http://pastebin.com/myP0Y88m
感谢帮助!
好的,我做到了,我将 AuthLDAPBindDN 从 更改为CN=svnr,OU=SVN,DC=domain,DC=ru
并且[email protected]
它可以工作,我不知道为什么以前的配置不起作用,如果你解释给我,我将不胜感激。