管理ldap中的特殊角色

时间:2010-09-07 10:21:36

标签: java spring ldap spring-security

我有一个配置了spring security的web-app,可以从ldap树中获取用户和角色。

我有一个dn ou = User,dc =应用程序用户,对于角色,ou = Groups,dc = application。

每个角色都是第二个子树中的一个条目,关联是由角色条目中的属性成员进行的。

实际上我有5种不同的角色访问权限(ROLE_A,ROLE_B,ROLE_C,ROLE_D,ROLE_E):每个角色都授予访问特定URL的权限。每个角色都是独立的。

角色子树架构(非常简单和不完整)

ou = Groups,dc = application。 --CN = A --CN = B --CN = C --CN = d --CN = E

现在我必须满足插入3个新角色(ROLE_F,ROLE_G,ROLE_H)的请求,这些角色可以按照固定模式分配: - 只有当用户担任角色ROLE_B,ROLE_D时才能分配ROLE_F, - 只有当用户处于角色ROLE_C或ROLE_E时,才能分配ROLE_G - 仅当用户处于角色ROLE_A或ROLE_B

时,才能分配ROLE_H

管理这3个新角色的最佳实践是什么?我应该将它们视为应用程序中的独立和管理依赖还是其他什么?

谢谢

1 个答案:

答案 0 :(得分:0)

是否有任何理由可能需要将新角色作为单独的项目进行管理,无论是现在还是将来某天,例如ROLE_F授予的权限不适用于100%的ROLE_B人员?如果是这样,那么我会说他们应该分开管理,即使你只怀疑有一天他们可能需要分开......毕竟,你现在也可以付出额外的努力以便将来省去麻烦。

但是如果您真正需要做的就是将新权限(例如由ROLE_F授予的权限)添加到现有组(在此示例中为ROLE_B),则不需要新角色。