我想获取包含 Oracle Universal Content 管理中用户的所有组和角色的列表。
例如:如果用户是 weblogic,组:管理员角色:经理,管理员等
我试过:
主题主题 = Security.getCurrentSubject();
设置 prin=subject.getPrincipals();
但是只有这个组。请提供一个代码片段来做到这一点。
我想获取包含 Oracle Universal Content 管理中用户的所有组和角色的列表。
例如:如果用户是 weblogic,组:管理员角色:经理,管理员等
我试过:
主题主题 = Security.getCurrentSubject();
设置 prin=subject.getPrincipals();
但是只有这个组。请提供一个代码片段来做到这一点。
列出一个组的成员是可能的,因为一个组有一个定义的成员列表
角色是不同的——角色定义了一组规则,可以评估这些规则以确定用户是否是成员。角色的成员资格可能会在一周中的某一天发生变化。
因此,要查看某个用户的角色,您必须检查每个角色。类似于此处描述的内容:
http://blog.watashii.com/2010/06/weblogic-portal-authorization-get-and-check-users-roles/
如果您已经知道所有角色(并将它们放在列表中),您可以简单地遍历列表并执行以下操作:
request.isUserInRole("xxxxx")
UserData userData = (UserData)context.getCachedObject("TargetUserData"); 矢量角色列表 = SecurityUtils.getRoleList(userData);