如何配置 PicketLink (LDAP) 以创建一些基本的多对多关系?假设:用户 0<-->* 角色 0<-->* 权限 所以用户可以有多个角色,角色可以有多个权限。
在 PicketLink 中,我可以创建一些角色并添加一些用户(甚至是自定义类):
member:user1
member:user2
但是,我怎样才能将一些权限添加到同一个角色或以其他方式在 LDAP\PicketLink 中创建这种多对多关系?所以我的角色看起来像这样或类似的:
member:user1
memberPermission: permission1
我找到了一些信息: https ://docs.jboss.org/picketlink/2/2.6.0.CR1/reference/html/ch09.html “LDAP 配置支持单个的简单层次结构(父/子)的映射类型。” 是不是 LDAP 不能做到这一点?
我还尝试为一些自定义映射创建一些自定义成员资格类:
.mapping(CustomGroup.class)
.baseDN(CG_DN_SUFFIX)
.objectClasses(GROUP_OF_NAMES)
.attribute("name", CN, true)
.readOnlyAttribute("createdDate", CREATE_TIMESTAMP)
.parentMembershipAttributeName("member")
//.parentMembershipAttributeName("usermember")
.mapping(CustomGroupMembership.class)
//configure which identity type is the owner of a relationship
.forMapping(CustomGroup.class)
.attribute("member", "member")
.attribute("memberPermission", "memberPermission")
但是在运行时我遇到了一些错误,无法将其添加到我的关系管理器中。
有没有人见过在 LDAP/PicketLink 中建立多对多关系的好例子?或者可能对类似问题有一些解决方案?