Picketlink @RolesAllowed分配给组的角色

时间:2014-11-08 10:23:39

标签: java picketlink

我正在使用picketlink作为应用程序,如果有人能帮助我,我将不胜感激。

该应用程序有许多组(管理员,客户服务等),每个组可以有许多角色(如创建新用户,创建新员工,启动工资核算流程等)

可以将用户分配到一个或多个组,将一个组分配给一个或多个角色。通常我认为分配给组的用户将继承该组的所有角色。如果我为分配给组的用户使用BasicModel.hasRole,则对于分配给该组的所有角色,它将返回true,这与预期的一样。但是,当在我的休息端点上使用@RolesAllowed注释时,它将始终返回同一用户的访问被拒绝异常。如果有任何解决方法有人可以建议吗?我希望@RolesAllowed允许具有允许角色的组内的用户通过。

或者我可以使用其他任何注释吗?

1 个答案:

答案 0 :(得分:0)

在org.picketlink.authorization.annotations包中尝试其中一个:

@GroupsAllowed  

定义授权约束,其中只允许组成员调用方法。

@LoggedIn   

定义授权约束,其中只允许经过身份验证的用户调用方法。

@PartitionsAllowed  

定义一个授权约束,用于检查经过身份验证的帐户是否存储在分区中。

@RequiresLevel  

定义授权检查,其中只允许具有相同或更高级别的用户调用方法

@RequiresPermission     

定义一个授权约束,用于检查经过身份验证的帐户是否具有特定权限。

@Restrict   

使用统一表达式语言为类型或方法定义授权约束。

@RolesAllowed   

定义一个授权约束,用于检查经过身份验证的帐户是否被授予一个或多个角色。

从这里: http://docs.jboss.org/picketlink/2/latest/api/org/picketlink/authorization/annotations/package-summary.html