我希望获得包含Oracle Universal Content Management中用户的所有组和角色的列表。
例如:如果用户是weblogic, 组:行政人员 角色:经理,管理员等
我试过:
主题subject = Security.getCurrentSubject();
设置prin = subject.getPrincipals();
但只有这一组。请提供一个代码片段来执行此操作。
答案 0 :(得分:1)
列出组的成员是可能的,因为组具有已定义的成员资格列表
角色不同 - 角色定义了一组规则,可以对其进行评估以确定用户是否是成员。角色的成员资格可能会在某一天发生变化。
因此,要了解某个用户所处的角色,您必须对每个角色进行检查。像这里描述的东西:
http://blog.watashii.com/2010/06/weblogic-portal-authorization-get-and-check-users-roles/
如果您已经知道所有角色(并将它们放在列表中),您可以简单地遍历列表并执行:
request.isUserInRole("xxxxx")
答案 1 :(得分:1)
UserData userData =(UserData)context.getCachedObject(“TargetUserData”); Vector roleList = SecurityUtils.getRoleList(userData);