0

我正在将纠察链接用于应用程序,如果有人可以帮助我,我将不胜感激。

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

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

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

4

1 回答 1

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

于 2015-01-29T14:50:41.293 回答