我将首先从设置开始。为此,我们有2台服务器

Server1将用于所有源代码,文件等。
在Server2上,我们拥有所有用户信息和登录名。
两台服务器都在Centos 6.4上运行

现在,我们要在使用apache(httpd)的server1上设置SVN存储库,并具有使用来自服务器2的帐户的LDAP身份验证。

以前,我设置了CVS回购协议,所以我100%确信ldap在工作。

我的SVN存储库正在使用apache正常运行,但是我似乎无法正确设置ldap身份验证。

我一直在找几天,我不知道该怎么办了。

我的/etc/httpd/conf.d/subversion.conf如下所示

<Location /svn>

    DAV svn
    SVNPath                 /var/www/svn/testProject
    AuthType                Basic
    AuthName                "My repo"
    AuthzLDAPAuthoritative  on
    AuthLDAPURL             "ldap://192.168.1.2:389/cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com?sAMAccountName?sub?(objectClass=*)" NONE
    AuthUserFile            /var/www/svn-auth-conf
    Require valid-user
    #AuthzSVNAccessFile     /var/www/svn-acces-control




我在server1上的/etc/openldap/ldap.conf看起来像这样

REFERRALS off
TLS_CACERTDIR /etc/openldap/cacerts
URI ldap://macserver.intranet.zappware.com
BASE cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com


在server1上,我具有root用户访问权限,因此我可以正确设置它。
当我使用用户帐户访问Server2时,我可以像这样进行ldapsearch

userM$ ldapsearch -x -b cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com


我在该服务器上获得了所有用户帐户

但是当我尝试ldapsearch -x -b cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com -W sAMAccount
Server2要求我提供LDAP密码。但是我没有密码,我们以前负责所有服务器工作的IT经理已经离开了公司。

所以我以为我可以再输入一个密码并输入

/etc/openldap/slapd.conf


但是当我在服务器2上检查该文件时,它只是空的

希望有人可以给我一些新的有用的技巧来解决这个问题

最佳答案

好,我解决了

更改了我的LDAPURL,因为不需要绑定它。

    <Location /svn>

        DAV svn
        SVNPath                 /var/www/svn/testProject
        AuthBasicProvider       ldap
        AuthType                Basic
        AuthName                "My repo"
        AuthzLDAPAuthoritative  off
        AuthLDAPURL             "ldap://192.168.1.2:389/cn=users,dc=server2,dc=intranet,dc=myCompany,dc=com" NONE
        Require valid-user
</Location>


我忘了声明AuthBasicProvider ldap

希望这对其他人有用

关于apache - 带有LDAP身份验证的SVN无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16016735/

10-12 12:59