@preauthrize或@Secured在Spring Oauth中无效

时间:2016-03-05 13:18:40

标签: spring spring-security oauth-2.0 spring-security-oauth2

@Preauthrize@Secured注释无法在 Spring Oauth 中工作(我提到的所有示例都是针对 Spring 的基本安全性而不是Oauth协议):

我所做的是:

  1. 我在 spring_security.xml
  2. 中启用了全局安全性
  3. 我在服务中使用了Preauthrize标签,但它无效。

1 个答案:

答案 0 :(得分:0)

添加 @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)

到您的某个配置。我已添加到我的Resource Server配置

@Configuration
@EnableResourceServer
@Order(2)
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
    @Override
    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
        resources.resourceId("Sample");
    }

    @Override
    public void configure(HttpSecurity http) throws Exception {
        //restrict access using @Secured or @PreAuthorize annotation
        http.authorizeRequests().anyRequest().permitAll();
    }
}

完美无缺地工作