Active directory 来自Artifactory的LDAP身份验证

Active directory 来自Artifactory的LDAP身份验证,active-directory,ldap,artifactory,Active Directory,Ldap,Artifactory,有一段时间,我试图从artifactoryldap接口对apacheds实现的“LDAP服务器”进行身份验证 我在EclipseOxygen上使用Artifactory6.1.0、ApacheDS和LDAP透视图 DIT(目录信息树)如您所见,在名为system的组织单元下有两个用户(admin和user1): 1-当我从“用户DN模式”(uid=admin,ou=system)进行身份验证并测试与服务器的连接时,测试用户应与“用户DN模式”中的指定用户相同,如果我尝试与其他用户(例如user

有一段时间,我试图从artifactoryldap接口对apacheds实现的“LDAP服务器”进行身份验证

我在EclipseOxygen上使用Artifactory6.1.0、ApacheDS和LDAP透视图

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

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

第1部分:

第2部分:

Artifactory cmd错误消息:

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

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

第1部分:

第2部分:

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

很多困惑:我必须使用哪种方法来建立到LDAP服务器的连接?通过用户DN模式连接和通过管理器DN连接之间有什么区别吗?对于每个方法,哪些字段(搜索筛选器、搜索库…)不应保持为空?如何与不同的测试用户进行身份验证

在Jfrog提供的教程中,使用“管理器DN方法”对已在DIT中创建的其他测试用户进行身份验证的工作正常。 =>教程:

最后我想问一下,如果要创建LDAP组,我需要Artifactory的pro版本,因为它在oss版本中是禁用的?我能免费得到那个模块吗

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

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

  • “基于搜索”的身份验证要求您填写
    搜索筛选器
    管理器DN/密码
    ,还可以选择填写
    搜索库
    。Artifactory将使用
    管理器DN
    用户连接到LDAP,并运行
    搜索过滤器的搜索。LDAP服务器找到适当的用户DN(可分辨名称,基本上是唯一的用户id),并将其发送回Artifactory。然后,Artifactory使用该用户的DN登录

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


用户DN模式
搜索过滤器
字段都是模式。具体地说,如果这些字段包含“
{0}
”,则将替换为尝试进行身份验证的用户的名称

您的
用户DN模式
仅允许您使用用户
管理员
登录的原因是,它被硬编码为始终作为
管理员
进行身份验证,而不管实际尝试登录的用户是谁。值应该是
uid={0},ou=system
,而不是
uid=admin,ou=system

您的
管理器DN
失败的原因可能是您的
搜索筛选器
错误。它的值是
sAMAccountName={0}
,但在LDAP配置中我没有看到任何名为
sAMAccountName
的属性。相反,请尝试将
搜索筛选器设置为
uid={0}
(或者,为LDAP中的每个用户添加
sAMAccountName
字段)。你的
管理员DN/密码
和你的
搜索库
看起来和我想的一样好


最后我想问一下,如果要创建LDAP组,我需要Artifactory的pro版本,因为它在oss版本中是禁用的?我能免费得到那个模块吗


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

非常感谢您的帮助,当我输入uid={0}作为搜索筛选器,并与LDAP服务器中已创建的任何用户进行身份验证时,一切正常。我的结论是,我不太理解不同的“LDAP属性”的含义,比如sAMAccountName…,事实上,我之所以这样做是因为我在JFROG提供的教程视频中发现了这一点。那么,您是否向我推荐任何来源来理解每个属性的含义?何时何地使用每一个?LDAP如何组织事物的模式或结构?!一本书,一个教程,一个在线课程…?我同意这有点令人困惑。从技术上讲,LDAP中的大多数属性都只是一般属性,并没有本质上的特殊含义,因此由管理LDAP服务器的人员来决定哪些内容意味着什么。在实践中,人们大多坚持基本内容的标准格式。是我发现的描述通用标准的RFC。Active Directory也有它自己使用的一组属性。我查找了它,发现
sAMAccountName
是Windows 2000之前的Windows服务器上的Active Directory专门使用的。在Windows 2000及更高版本中,该属性被弃用,取而代之的是
userPrincipalName
,意思相同,但人们仍然使用旧标准。当然,如果不使用Active Directory,您将看不到这些属性。