【问题标题】:LDAP authentification from Artifactory来自 Artifactory 的 LDAP 身份验证
【发布时间】:2019-02-02 23:22:38
【问题描述】:

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

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

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

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

第一部分:

第二部分:

Artifactory cmd 错误信息:

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

2-如果我使用“Manager DN”字段并输入密码,即使我使用“Manager DN”中指定的同一用户作为测试用户,身份验证也会失败。

第一部分:

第二部分:

=>即使测试用户相同,也无法认证。

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

在 Jfrog 提供的教程中,使用“Manager DN 方法”与已在 DIT 中创建的不同测试用户进行身份验证正常工作。 =>导师:https://www.youtube.com/watch?v=_nT76RgXA2c

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

我需要一个明确的解释,谢谢。

【问题讨论】:

    标签: active-directory ldap artifactory


    【解决方案1】:

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

    • “基于搜索”的身份验证要求您填写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}(或者,将sAMAccountName 字段添加到LDAP 中的每个用户)。你的Manager DN/Password 和你的Search Base 看起来不错,就像我认为的那样。


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

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

    【讨论】:

    • 非常感谢您的帮助,当我输入 uid={0} 作为搜索过滤器并使用已在 LDAP 服务器中创建的任何用户进行身份验证时,一切正常。我得出的结论是,我不太了解 sAMAccountName 等不同“LDAP 属性”的含义....,实际上我输入了它,因为这是我在 JFROG 提供的教程视频中找到的。那么您是否向我推荐任何资源来理解每个属性的含义?何时何地使用每一个? LDAP 如何组织事物的架构或结构?!一本书,一个教程,一个在线课程......?
    • 我同意这有点令人困惑。从技术上讲,LDAP 中的大多数属性只是通用属性,并没有真正固有的特殊含义,因此由管理 LDAP 服务器的人来决定哪些东西意味着什么。在实践中,人们大多坚持基本内容的标准格式。 Here 是我发现的描述通用标准的 RFC。 Active Directory 也有自己使用的一组属性。
    • 我查了一下,发现sAMAccountName是Windows 2000之前的Windows Server上的Active Directory专门使用的。在Windows 2000及更高版本中,该属性已被弃用,取而代之的是userPrincipalName意思相同,但人们仍然使用旧标准。当然,如果您不使用 Active Directory,您将看不到这些属性中的任何一个。
    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 2017-06-25
    • 2017-06-03
    • 2011-09-23
    • 2017-01-09
    • 2015-05-06
    相关资源
    最近更新 更多