@preauthrize或@Secured在Spring Oauth不起作用



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

我所做的是:

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

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

到您的配置之一。我已添加到我的资源服务器配置

@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();
    }
}

完美工作

最新更新