来自Artifactory的LDAP认证

时间:2018-08-28 10:43:04

标签: active-directory ldap artifactory

有一阵子,我试图从Artifactory LDAP界面向由Apache DS实现的“ LDAP服务器”进行身份验证。

我使用Artifactory 6.1.0,即Eclipse Oxygen上的Apache DS和LDAP透视图。

您看到的DIT(目录信息树)在名为system的组织单位下有两个用户(admin和user1): DIT of the LDAP connexion

1-当我从“用户DN模式”(uid = admin,ou = system)进行身份验证并测试与服务器的连接时,测试用户应与“用户DN模式”中的指定用户相同“,如果我尝试使用另一个用户(例如user1),则与服务器的连接已建立,但身份验证失败。

第1部分:Part1

第2部分:Part2

Artifactory cmd错误消息:Artifactory cmd error message

=>测试用户应与“用户DN模式”中指定的用户相同

2-如果我使用“ Manager DN”字段并输入密码,即使我使用在“ Manager DN”中指定的相同用户作为测试用户,认证也将失败。

第1部分:Part1

第2部分:Part2

=>即使测试用户相同,也无法进行身份验证。

很多困惑:我必须使用哪种方法来建立与LDAP服务器的连接?通过用户DN模式与Manager DN连接之间有什么区别吗?每种方法哪些字段(搜索过滤器,搜索库...)不应保留为空?以及如何与其他测试用户进行身份验证?

在Jfrog提供的老师中,使用“管理员DN方法”对DIT中已经创建的其他测试用户进行身份验证可以正常进行。 =>老师:https://www.youtube.com/watch?v=_nT76RgXA2c

最后,我想问是否要创建LDAP组?我需要Artifactory的专业版,因为在oss版本中已禁用它?我可以免费获得该模块吗?!

我需要一个清晰的解释,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以选择两种身份验证“方法”,也可以同时配置两者:

  • “基于搜索”的身份验证要求您填写Search FilterManager DN/Password,以及可选的Search Base。 Artifactory将使用Manager DN用户连接到LDAP,并搜索Search Filter。 LDAP服务器找到适当的用户DN(专有名称,基本上是唯一的用户ID),然后将其发送回Artifactory。然后Artifactory使用该用户的DN登录。

  • “直接”身份验证仅要求您填写User DN Pattern字段。此方法跳过了用户搜索步骤,仅使用User DN Pattern字段中的任何DN登录。


User DN PatternSearch Filter字段均为模式。具体来说,如果这些字段包含“ {0}”,则将其替换为尝试进行身份验证的用户的名称。

您的User DN Pattern只允许您与用户admin登录的原因是,无论实际上是哪个用户尝试登录,它都经过硬编码,始终验证为admin。该值应为uid=admin,ou=system,而不是uid={0},ou=system

您的Manager DN失败的原因可能是您的Search Filter错误。它的值为sAMAccountName={0},但是在您的LDAP配置中没有看到任何名为sAMAccountName的属性。相反,请尝试将Search Filter设置为uid={0}(或者,向您在LDAP中的每个用户添加一个sAMAccountName字段)。您的Manager DN/Password和您的Search Base看起来很不错。


  

最后,我想问是否要创建LDAP组?我需要Artifactory的专业版,因为在oss版本中已禁用它?我可以免费获得该模块吗?!

LDAP组同步是Pro的一项功能,在OSS中不可用,因此您需要购买Pro许可证才能使用它。您无法免费获得它。