SVN 服务器 LDAP 身份验证错误:用户不是唯一的

SVN 服务器 LDAP 身份验证错误:用户不是唯一的

当 Apache(在 Solaris 上运行)尝试针对 SVN 服务器的特定用户通过 LDAP 进行身份验证时,出现以下错误:

auth_ldap 身份验证:用户 abc 身份验证失败;URI /svn/reponame [用户不唯一(搜索发现两个或更多匹配项)][没有这样的对象]

根本原因是两个不同的域中有具有相同用户名的用户。是否可以将域指定为用户登录的一部分?我无法让它工作。我尝试过域\用户名、用户名@域,但身份验证失败。

有任何想法吗?

答案1

根据您在评论中添加的 AuthLDAPURL(请将其编辑到问题中),您的搜索正在查看全局目录(端口 3268),该目录显示 Active Directory 林中的所有用户,但使用 sAMAccountName 属性进行搜索,该属性仅在单个域内全局唯一。

因此,请将您的 AuthLDAPURL 从以下位置更改为:

ldap://domain.com:3268/DC=com?sAMAccountName?sub

更像这样:

ldap://domain.com:3268/DC=com?userPrincipalName?sub

并告诉人们使用他们的 UPN 登录,这将是[电子邮件保护]

现在,如果您想使用更简单的值登录,那么您必须想出一种方法来通过真正独特的东西来区分用户。

可能电子邮件是唯一的,因此您可以将其更改为:

ldap://domain.com:3268/DC=com?mail?sub

因此他们需要通过指定电子邮件登录。

相关内容