Subversion服务器使用Active Directory错误

时间:2018-11-11 12:44:27

标签: linux svn active-directory ldap subversion-edge

我正在使用在Linux 7上运行的apache subversion。从前端开始,我正在使用svn乌龟。我正在尝试将Subversion与当前AD集成。为此,我打开了/etc/httpd/conf.d目录,并在subversion.conf文件中提供了以下详细信息。详情在下面提及

<location /svn>
DAV svn
SVNParentPath /u01/ciroot/subversion
AuthType Basic
AuthBasicProvider ldap
AuthName "Root Repo"
AuthLDAPURL "ldap://100.100.10.2:388/DC=macgroup,DC=local?sAMAccountName?sub?(&(ObjectClass=*)memberOf=CN=OBIEE_Admin,OU=OBIEE,OU=Security,OU=Groups,OU=Global Resources,DC=MACGROUP,DC=LOCAL))"
AuthLDAPBindDN "CN=oidkerbt,OU=Service Accounts,OU=Users,OU=Global Resources,DC=MACGROUP,DC=LOCAL"
AuthLDAPBindPassword welcome123@
Require valid-user
</location>

使用上面的conf文件详细信息,当我尝试打开/ u01 / ciroot / subversion下的文件夹时,我会提示用户密码对话框,但是当给该组的正确用户时,它不进行身份验证并给出以下错误信息< / p>

  

内部服务器错误

     

服务器遇到内部错误或配置错误,无法完成您的请求。

     

请通过root @ localhost与服务器管理员联系,以告知他们该错误发生的时间以及您在此错误发生之前所执行的操作。

     

有关此错误的更多信息,可在服务器错误日志中找到。

但是当我按以下方式编辑此文件时,它工作正常。

<location /svn>
DAV svn
SVNParentPath /u01/ciroot/subversion
AuthType Basic
AuthBasicProvider ldap
AuthName "Root Repo"
AuthLDAPURL "ldap://100.100.10.2:388/DC=macgroup,DC=local?sAMAccountName?sub?(&(ObjectClass=*))"
AuthLDAPBindDN "CN=oidkerbt,OU=Service Accounts,OU=Users,OU=Global Resources,DC=MACGROUP,DC=LOCAL"
AuthLDAPBindPassword welcome123@
Require valid-user
</location>

在添加组失败时有人可以帮我解决我的问题。

致谢

1 个答案:

答案 0 :(得分:1)

LDAP过滤器中缺少括号。每个attr = value对都需要用括号括起来。该字符串应为:

fileScan = new Scanner( file ).useDelimiter( "\\b|\\B|[.,!?:;]|\\s*" );
while( fileScan.hasNext()) {
   String token = fileScan.next();
   temps.add( token );
   this.tempsarray = temps.toArray(new String[0]);
}

如果要在连接后加密通信,请用“ STARTTLS”替换“无”。我通常以明文开头,并在进行加密连接之前对所有内容进行排序。然后,可以将任何故障隔离到证书/信任问题。

我希望明文LDAP端口为389 ...,但如果在没有过滤器的情况下进行身份验证,则必须有一个异常的端口映射/绑定到目录服务的端口。

如果身份验证仍然失败,则可以尝试在指定端口上捕获到LDAP服务器的网络流量。这将向您显示正在进行 和来自目录服务器的响应的确切LDAP查询。