Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JBOSS 7.1,保护EJB3 Web服务_Java_Web Services_Jakarta Ee_Jboss7.x_Ejb 3.1 - Fatal编程技术网

Java JBOSS 7.1,保护EJB3 Web服务

Java JBOSS 7.1,保护EJB3 Web服务,java,web-services,jakarta-ee,jboss7.x,ejb-3.1,Java,Web Services,Jakarta Ee,Jboss7.x,Ejb 3.1,我有一个EJBWeb服务,它由一个安全域保护,该域具有数据库登录配置,其中每个用户都映射到一组角色 我的问题是JBOSS拒绝任何没有第一个web服务方法角色的用户访问 例如: @SecurityDomain("MyWS") @Stateless @WebService(serviceName = "MyService") @WebContext(authMethod = "BASIC", urlPattern = "/*", secureWSDLAccess = false) @RolesAll

我有一个EJBWeb服务,它由一个安全域保护,该域具有数据库登录配置,其中每个用户都映射到一组角色

我的问题是JBOSS拒绝任何没有第一个web服务方法角色的用户访问

例如:

@SecurityDomain("MyWS")
@Stateless
@WebService(serviceName = "MyService")
@WebContext(authMethod = "BASIC", urlPattern = "/*", secureWSDLAccess = false)
@RolesAllowed("CLIENT")
public class MyService {

      @RolesAllowed("R1")
      public void method1() { ... }

      @RolesAllowed("R2")          
      public void methdo2() { ... }

      @RolesAllowed("R3")
      public void methdo3() { ... }

}
现在,如果我有一个角色为Client、R1和R2的用户,一切正常,但是如果我有一个角色为Client、R3的用户,那么JBOSS总是拒绝用户访问,我也必须将该用户分配给角色“R1”

奇怪的是,“强制”角色是类中第一个方法的角色,我的意思是如果我切换method1和method2的位置,那么“R2”将是所有用户都应该分配到的强制角色

这是怎么回事,这里有我遗漏的东西吗