java使用jersey设置JAXR中允许的@Roles角色
我试图通过更改Tomcat 6.0
的server.xml
配置来使用Basic Authentication
,但没有成功:BASIC authentication in jersey JAX-RS service and Tomcat 6.0 getting failed
因此,我选择了一种不需要特定于服务器的配置的方式,我可以直接在代码中添加角色(客户机或服务器;不确定可用选项)
请提供一些关于设置用户角色的可能选项的想法,以便我可以使用@RolesAllowed
注释验证我的Web服务方法
# 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获取凭据信息
所以,基本上,如果你不想花时间让安全约束发挥作用,你最终会替换大部分链。。。就像我说的,一个坏主意
应用服务器上的功能可以让你不必花时间创建基础架构代码,如果你自己编写基础架构代码,你会过得很糟糕