我对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文档,但似乎没有更详细的讨论。
答案 0 :(得分:0)
这些注释由EnableGlobalMethodSecurity配置注释对script-security.xml的更改启用(您试图避免)
@EnableGlobalMethodSecurity(prePostEnabled=true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
...
}