Java 预授权注释不';我不能和泽西一起工作

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>

我正在尝试使用spring安全注释来保护jersey服务,但没有任何运气

我已将此部分添加到web.xml:

<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";
    }
}