有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用jersey设置JAXR中允许的@Roles角色

我试图通过更改Tomcat 6.0server.xml配置来使用Basic Authentication,但没有成功:BASIC authentication in jersey JAX-RS service and Tomcat 6.0 getting failed

因此,我选择了一种不需要特定于服务器的配置的方式,我可以直接在代码中添加角色(客户机或服务器;不确定可用选项)

请提供一些关于设置用户角色的可能选项的想法,以便我可以使用@RolesAllowed注释验证我的Web服务方法


共 (1) 个答案

  1. # 1 楼答案

    你需要回去弄清楚为什么你的安全约束不起作用。在转到JDBC领域之前,可能先从默认文件领域开始@在触发容器中行为的注释中允许角色

    如果你真的想自己做(一个坏主意),你可能会从创建一个定制的servlet过滤器开始,它实现了整个基本的http质询机制。接下来,您必须更换泽西岛的SecurityContext提供商

    在jersey中启用@RoleAllowed的“东西”是:http://java.net/projects/jersey/sources/svn/content/trunk/jersey/jersey-server/src/main/java/com/sun/jersey/api/container/filter/RolesAllowedResourceFilterFactory.java,顺便说一句,别忘了将其作为init参数添加到jersey servlet中。RolesAllowedResourceFilterFactory从注入的SecurityContext获取其安全信息,我确信在某些时候,它只是委托Servlet API获取凭据信息

    所以,基本上,如果你不想花时间让安全约束发挥作用,你最终会替换大部分链。。。就像我说的,一个坏主意

    应用服务器上的功能可以让你不必花时间创建基础架构代码,如果你自己编写基础架构代码,你会过得很糟糕