@Preauthrize
和@Secured
注释在Spring Oauth中不起作用(我提到的所有示例都是针对Spring基本安全性的,而不是用于Oauth协议的):
我所做的是:
- 我在spring_security.xml中启用了全局安全性
- 我在服务中使用了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();
}
}
完美工作