【发布时间】:2017-05-01 15:57:55
【问题描述】:
我使用 ApacheDS 作为目录服务器,用于 Gogs 等应用程序(Git 服务器如 GitLab)。我的想法是创建像gogs-users 这样的组并将登录限制为这些组,以便只有属于该组成员的用户才能登录。我为此创建了一个 groupOfNames 和一个 testuser,它被添加到 gogs 组中。
gogs-users 的类型是 groupOfNames,它有一个属性 member,其中包含我的用户的 DN(uid=testuser,ou=Users,DC=example,DC=com)。所以我可以看到,谁是这个小组的成员。
但我想查看 user 所属的所有组。当我打开 testuser 时,我看不到任何属性可以告诉我,他是 gogs-users 的成员。我记得专有的 Active Directory 有一个名为 memberOf 的属性,它可以在像 (&(objectClass=inetOrgPerson)(memberOf=CN=gogs-user,DC=example,DC=com)) 这样的过滤器中查询。那正是我所需要的。
如何在免费的 LDAP 实施中获得此功能?除了定义一个自定义属性外,我没有其他办法——我必须手动维护它。这不好,我想有一个自动化的解决方案,来照顾这些属性。
我已经尝试过的事情
- https://stackoverflow.com/a/34502363/3276634没有变化
- https://morenews.blogspot.de/2010/12/adding-active-directory-properties-to.html 也没有变化
注意:我在每次导入方案后都进行了完全重置,以确保我的测试不受之前更改的影响。
【问题讨论】:
-
(member=uid=testuser,ou=Users,DC=example,DC=com) 和以下基础:DC=example,DC=com 可以工作。
-
@jwilleke 这给了我组,而不是成员。
member是groupOfNames的属性。这就是我遇到的问题:只有从组到他们的成员用户的引用,而不是从用户到他的组的其他方式。在 AD 中,memberOf属性修复了这个问题。
标签: linux ldap apacheds apache-directory