来自 Artifactory 的 LDAP 身份验证
LDAP authentification from Artifactory
有一段时间我试图通过 Artifactory LDAP 接口向 "LDAP server" 进行身份验证,由 Apache DS 实现。
我在 Eclipse Oxygen 上使用 Artifactory 6.1.0、Apache DS 和 LDAP 透视图。
如您所见,DIT(目录信息树)在名为 system 的组织单位下有两个用户(admin 和 user1):
1-当我从 "user DN pattern" (uid=admin,ou=system) 进行身份验证并测试与服务器的连接时,测试用户应与 [= 中的指定用户相同50=],如果我尝试与另一个用户(例如 user1)建立连接,但验证失败。
第 1 部分:
第 2 部分:
Artifactory cmd 错误信息:
=>测试用户应与"user DN pattern"
中指定的相同
2-如果我使用 "Manager DN" 字段并输入密码,即使我使用 "Manager DN" 中指定的相同用户作为测试用户,验证也会失败。
第 1 部分:
第 2 部分:
=>即使测试用户相同,也无法认证
很多困惑:我必须使用哪种方法来建立与 LDAP 服务器的连接?通过用户 DN 模式和经理 DN 连接之间有什么区别吗?对于每种方法,哪些字段(搜索过滤器、搜索库...)不应保留为空?以及如何对不同的测试用户进行身份验证?
在Jfrog提供的教程中,使用"Manager DN method"与DIT中已经创建的不同测试用户进行认证是正常的。
=>教程:https://www.youtube.com/watch?v=_nT76RgXA2c
最后想问一下,创建LDAP组是否需要Artifactory的专业版,因为在oss版中是禁用的?我可以免费获得该模块吗?!
我需要一个明确的解释,谢谢。
您可以选择两种 "methods" 身份验证,或者您可以同时配置两者:
"Search-based"认证需要填写Search Filter
和Manager DN/Password
,可选Search Base
。 Artifactory 将使用 Manager DN
用户连接到 LDAP,并 运行 搜索 Search Filter
。 LDAP 服务器找到合适的用户 DN(专有名称,基本上是唯一的用户 ID),并将其发送回 Artifactory。然后 Artifactory 使用该用户的 DN 登录。
"Direct" 认证要求您只填写 User DN Pattern
字段。此方法跳过用户搜索步骤,仅使用 User DN Pattern
字段中的任何 DN 登录。
User DN Pattern
和 Search Filter
字段都是 模式 。具体来说,如果这些字段包含“{0}
”,这将替换为尝试进行身份验证的用户的名称。
您的 User DN Pattern
只允许您使用用户 admin
登录的原因是因为它被硬编码为始终以 admin
进行身份验证,而不管哪个用户实际尝试登录in. 而不是 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
看起来不错,就像我想的那样。
Finally I want to ask if to create LDAP groups I need the pro version of Artifactory, because it's disabled in the oss version? Can I get that module for free?!
LDAP组同步是Pro功能,在OSS中不可用,所以需要购买Pro license才能使用。你不能免费得到它。
有一段时间我试图通过 Artifactory LDAP 接口向 "LDAP server" 进行身份验证,由 Apache DS 实现。
我在 Eclipse Oxygen 上使用 Artifactory 6.1.0、Apache DS 和 LDAP 透视图。
如您所见,DIT(目录信息树)在名为 system 的组织单位下有两个用户(admin 和 user1):
1-当我从 "user DN pattern" (uid=admin,ou=system) 进行身份验证并测试与服务器的连接时,测试用户应与 [= 中的指定用户相同50=],如果我尝试与另一个用户(例如 user1)建立连接,但验证失败。
第 1 部分:
第 2 部分:
Artifactory cmd 错误信息:
=>测试用户应与"user DN pattern"
中指定的相同2-如果我使用 "Manager DN" 字段并输入密码,即使我使用 "Manager DN" 中指定的相同用户作为测试用户,验证也会失败。
第 1 部分:
第 2 部分:
=>即使测试用户相同,也无法认证
很多困惑:我必须使用哪种方法来建立与 LDAP 服务器的连接?通过用户 DN 模式和经理 DN 连接之间有什么区别吗?对于每种方法,哪些字段(搜索过滤器、搜索库...)不应保留为空?以及如何对不同的测试用户进行身份验证?
在Jfrog提供的教程中,使用"Manager DN method"与DIT中已经创建的不同测试用户进行认证是正常的。 =>教程:https://www.youtube.com/watch?v=_nT76RgXA2c
最后想问一下,创建LDAP组是否需要Artifactory的专业版,因为在oss版中是禁用的?我可以免费获得该模块吗?!
我需要一个明确的解释,谢谢。
您可以选择两种 "methods" 身份验证,或者您可以同时配置两者:
"Search-based"认证需要填写
Search Filter
和Manager DN/Password
,可选Search Base
。 Artifactory 将使用Manager DN
用户连接到 LDAP,并 运行 搜索Search Filter
。 LDAP 服务器找到合适的用户 DN(专有名称,基本上是唯一的用户 ID),并将其发送回 Artifactory。然后 Artifactory 使用该用户的 DN 登录。"Direct" 认证要求您只填写
User DN Pattern
字段。此方法跳过用户搜索步骤,仅使用User DN Pattern
字段中的任何 DN 登录。
User DN Pattern
和 Search Filter
字段都是 模式 。具体来说,如果这些字段包含“{0}
”,这将替换为尝试进行身份验证的用户的名称。
您的 User DN Pattern
只允许您使用用户 admin
登录的原因是因为它被硬编码为始终以 admin
进行身份验证,而不管哪个用户实际尝试登录in. 而不是 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
看起来不错,就像我想的那样。
Finally I want to ask if to create LDAP groups I need the pro version of Artifactory, because it's disabled in the oss version? Can I get that module for free?!
LDAP组同步是Pro功能,在OSS中不可用,所以需要购买Pro license才能使用。你不能免费得到它。