0

我正在使用在 linux 7 上运行的 apache subversion。从前端我使用的是 tortoise svn。我正在尝试将我的颠覆与当前的 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 下的文件夹时,我会提示用户密码对话框,但是当提供该组的正确用户时,它没有进行身份验证并给出以下错误

内部服务器错误

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

请通过 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>

有人可以帮我在添加组失败时出错的地方。

问候

4

1 回答 1

1

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

"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))" None

如果要在连接后加密通信,请将“None”替换为“STARTTLS”。我通常从明文开始并在转移到加密连接之前对其他所有内容进行排序。然后任何失败都可以隔离到证书/信任问题。

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

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

于 2018-11-11T14:29:42.920 回答