我在以下应用程序中使用角色授权,
**@RolesAllowed("Admin")**
public class ExampleResource {
//
@GET
@Produces(MediaType.APPLICATION_JSON)
**@RolesAllowed({"Admin", "User"})**
public Response getUsers(){
}
}
以“管理员/用户”身份登录时,授权工作正常。同样,我将角色应用于许多资源类。
但是我想处理@RolesAllowed以动态设置,而不是将其定义为声明性注释。还是有其他方法可以使用EJB3或Java ee安全性来处理角色授权?
请给出您的想法或示例以实现它。
谢谢,
问候,
乌拜
最佳答案
使用@Resource
注入EJBContext(或SessionContext),并调用isCallerInRole(String roleName)并抛出异常(或任何异常)(如果它返回false)。这基本上是@RolesAllowed
进行的工作。
关于java - 如何在EJB 3中动态设置@RolesAllowed,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24526897/