【发布时间】:2012-11-21 12:53:30
【问题描述】:
在我们的 LDAP 目录中,我们有映射到组的用户。这些组可以映射到其他组。例如:
cn=group1,cn=groups,dc=example,dc=com
uniquemember cn=user1,cn=user,dc=example,dc=com
cn=group2,cn=groups,dc=example,dc=com
uniquemember cn=user2,cn=user,dc=example,dc=com
uniquemember cn=group1,cn=user,dc=example,dc=com
所以User1属于Group1,而User2属于Group2,Group2又属于Group1
在 Grails 中,User1 对 Group1 具有权限,但 User2 仅对 Group2 具有权限。据我所见,没有办法让它递归地查看树。实际上,我可能只需要一个 2 级层次结构,但即使这样似乎也行不通。
我正在尝试通过自定义 UserDetailsContextManager 来查看是否可以遍历初始结果并按组重新查询 LDAP,但我想我会看看是否有更简单/更好的方法。
【问题讨论】:
-
这个问题有一个误导性的描述/示例。它声明“所以 User1 属于 Group1,但 User2 属于 Group2,Group2 又属于 Group1”,这表明
user2应该属于group1。这是错误的方法 -group1是group2的成员(通过uniquemember属性,所以正确的包含是group2包括user2、group1和因此user1。以下段落也需要更正。uniquemember属性显示哪些对象是该组的成员,而不是该对象是哪些对象的成员。
标签: grails spring-security ldap