Java 预授权注释不';我不能和泽西一起工作
我正在尝试使用spring安全注释来保护jersey服务,但没有任何运气 我已将此部分添加到web.xml:Java 预授权注释不';我不能和泽西一起工作,java,spring-security,annotations,jersey-2.0,Java,Spring Security,Annotations,Jersey 2.0,我正在尝试使用spring安全注释来保护jersey服务,但没有任何运气 我已将此部分添加到web.xml: <servlet> <servlet-name>Jersey REST Service</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.test.proj.ui.web.rest;com.fasterxml.jackson.jaxrs</param-value>
</init-param>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.test.commons.ui.web.jersey.RestApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Spring security在身份验证中工作得很好,但是授权没有按预期工作,并且忽略了预授权注释,没有任何错误或日志
我使用的是Spring3.2.4、SpringSecurity 3.2.1和Jersy2.6
有什么想法吗
谢谢我们正面临着同样的问题。在业务层上@PreAuthorize注释起作用,但在REST资源上没有。这种情况的副作用是春豆注射液不能很好地发挥作用。一切顺利
100%可行的解决方案是使用RESTEasy而不是Jersey。它们非常相似,所以工作量不大。spring组件扫描配置不正确!要解决此问题,只需正确添加组件扫描即可。我也有同样的问题。你能解释一下怎么做吗?我已经用-@Component注释了服务类。将类似于
的内容添加到spring配置或@ComponentScan(…)
<global-method-security secured-annotations="enabled" pre-post-annotations="enabled" />
@Component
@Path("/user/{uid: .*}")
public class UserResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
@PreAuthorize("hasRole('ROLE_MANAGE_USER')")
public Response getUserDetail(@PathParam("uid") String uid) {
return "Hi, this is a test";
}
}