我在以下应用程序中使用角色授权,

**@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/

10-09 03:20