使用Microsoft Active Directory进行群组LDAP配置

时间:2018-01-15 13:06:00

标签: active-directory ldap atlassian-crowd

我遇到了Crowd中LDAP配置的问题。

背景 运行Atlassian Crowd的远程CentOS服务器需要与内部Microsoft Active Directory集成。

我们为Crowd配置了以下模糊的细节:

  • 网址:ldap://ldaps.xyzgroup.com.uk:389
  • 基本DN:OU =用户,DC = xyz,DC =本地
  • 用户帐号:xyz \ parkbasead
  • 密码:< somepass>

问题 Crowd正确验证服务器,但在用户登录时抛出异常:

AcceptSecurityContext error, data 52e, v1db1]; nested exception is javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C090400, comment: AcceptSecurityContext error, data 52e, v1db1]

鉴于上述细节,什么构成基本DN,我们应该使用UPN(完全限定用户名)从远程服务器登录? 在基本DN中,如果DC = local应替换为有意义的域控制器名称,有人可以分享想法吗?

1 个答案:

答案 0 :(得分:2)

在这里解决每个问题,但将来你应该在一个问题中避免多个问题。当一个问题中存在多个问题时,人们不太可能提供帮助。

  1. 在Active Directory中,用户是容器而不是OU。因此,作为LDAP路径的Base DN实际上是: CN = Users,DC = xyz,DC = local 。请注意逗号后面没有空格。基本DN也可以简单地是 DC = xyz,DC =本地。 Base DN指定Active Directory中搜索的根目录。根据我的经验,如果您是每个大型组织,将基本DN指定为目录的根目录会导致CPU时间略高,因为Active Directory中有更多级别可以查找用户,因此我会尝试首先使用 CN = Users,DC = xyz,DC = local 作为基本DN(如果您的所有用户都在哪里)。如果没有,则尝试 DC = xyz,DC = local ,这与下面的示例类似,其中基本DN是 ISL.local
  2. Active Directory Users and Computers

    LDAP / AD Integration screen

    1. UPN 看起来像parkbasead@xyz.local。根据我的经验,可能会或可能不会从远程服务器进入,具体取决于安装的身份验证库,因此也可以单独尝试 parkbasead 。当客户端和服务器的域成员身份为 xyz.local 时,假定 xyz.local

    2. 请注意,域控制器名称永远不是 Base DN 的一部分,因为Base Dn只不过是LDAP路径。

    3. 这里有一个关于这个主题的很好的外部参考,我找到了示例和屏幕截图:How to find the correct Base DN setting

      编辑:根据我的经验,使用您怀疑可能在Active Directory中发送错误密码或被锁定的帐户解决问题的最佳方法是使用{{3 }}。它会告诉您任何帐户锁定的来源,然后您可以快速通知AD管理员解锁该帐户。小心不要仅依赖代码,LDAP代码可能含糊不清,问题的真正来源可能会或可能不会直接涉及代码。 Microsoft帐户锁定状态工具的示例:

      Microsoft Account Lockout Status tool

相关问题