通过 ldap/AD 进行 svn 授权

通过 ldap/AD 进行 svn 授权

这里有个问题。我有一个域(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]它可以工作,我不知道为什么以前的配置不起作用,如果你解释给我,我将不胜感激。

相关内容