1

我使用 ApacheDS 作为目录服务器,用于 Gogs 等应用程序(Git 服务器如 GitLab)。我的想法是创建类似的组gogs-users并将登录限制为这些组,以便只有属于该组成员的用户才能登录。我groupOfNames为此创建了一个 testuser,并将其添加到 gogs 组中。

的类型gogs-usersgroupOfNames,它有一个属性member,其中包含我的用户的 DN(uid=testuser,ou=Users,DC=example,DC=com)。所以我可以看到,谁是这个小组的成员。

但我想查看用户所属的所有组。当我打开 testuser 时,我看不到任何属性可以告诉我,他是gogs-users. 我记得专有的 Active Directory 有一个名为的属性memberOf,它可以在过滤器中查询,例如(&(objectClass=inetOrgPerson)(memberOf=CN=gogs-user,DC=example,DC=com)). 那正是我所需要的。

如何在免费的 LDAP 实现中获得此功能?除了定义一个自定义属性外,我没有其他办法——我必须手动维护它。这不好,我想有一个自动化的解决方案,来照顾这些属性。

我已经尝试过的事情

注意:我在每次导入方案后都进行了完全重置,以确保我的测试不受以前更改的影响。

4

1 回答 1

1

以下是可以采用任何一种方式但仅适用于 Microsoft Active Directory 的查询:

解析所有成员(包括嵌套)安全组(至少需要 Windows 2003 SP2):

(memberOf:1.2.840.113556.1.4.1941:=CN=gogs-user,DC=example,DC=com)

并且用户所属的所有组包括嵌套组

(member:1.2.840.113556.1.4.1941:=CN=UserName,CN=Users,DC=YOURDOMAIN,DC=NET))
于 2017-05-05T08:26:01.593 回答