我使用ApacheDS作为目录服务器,它用于像GOGS这样的应用程序(像Gitlab这样的Git服务器)。我的想法是创建像gogs-users这样的组,并将登录限制为那些组,这样只有属于该组的用户才能登录。我已经为此创建了一个groupOfNames和一个testuser,它被添加到gogs组中。
gogs-users的类型是groupOfNames,它有一个包含我的用户的dn的属性(uid=testuser,ou=users,dc=example,dc=com)。所以我能看到,谁是这个小组的成员。
但我希望看到用户是其成员的所有组。当我打开testuser时,我没有看到任何属性可以告诉我,他是member的成员。我记得,专有的active directory有一个名为gogs-users的属性,whch在类似memberOf的过滤器中是可查询的。那正是我所需要的。
如何在免费的LDAP实现中实现此功能?除了定义一个自定义属性之外,我看不到其他任何方法-我必须维护每个手。这不好,我想有一个自动化的解决方案,保持这些属性。
我已经试过的东西
https://stackoverflow.com/a/34502363/3276634无变化
https://morenews.blogspot.de/2010/12/adding-active-directory-properties-to.html也没有变化
注意:每次方案导入后,我都进行了完全重置,以确保我的测试不受先前更改的影响。

最佳答案

以下是任何一种查询,但仅适用于Microsoft活动目录:
解析all members(包括嵌套)安全组(至少需要Windows 2003 SP2):

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

以及
所有组aUser is a member of包括嵌套组
(member:1.2.840.113556.1.4.1941:=CN=UserName,CN=Users,DC=YOURDOMAIN,DC=NET))

10-07 14:19