PrePost注释如何与HttpSecurity配置堆叠?

时间:2016-04-08 16:51:43

标签: spring spring-mvc spring-security

我对Spring Security非常陌生,我试图了解@PreAuthorize@PostAuthorize的效用。这些注释采用内置表达式,在配置HttpSecurity时可以将所有内容都放在WebSecurityConfigurerAdapter中。

使用以下Spring Java(Groovy)配置尝试:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().anyRequest().authenticated()
}

控制器方法定义为:

@RequestMapping('/data/{id}')
@PreAuthorize('permitAll')
Data getData(@PathParam('id') String id) {
    //return some data
}

似乎对控制器方法没有影响。我一直在阅读官方的Spring文档,但似乎没有更详细的讨论。

1 个答案:

答案 0 :(得分:0)

这些注释由EnableGlobalMethodSecurity配置注释对script-security.xml的更改启用(您试图避免)

@EnableGlobalMethodSecurity(prePostEnabled=true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
 ...
}