2016-04-08 29 views
2

我是Spring Security的新手,我想了解@PreAuthorize@PostAuthorize的效用。这些注释采用内置表达式,配置WebSecurityConfigurerAdapter时可以将其全部放入HttpSecurityPrePost注释如何与HttpSecurity配置堆叠?

具有以下的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

这些注释被修改脚本security.xml文件(你正在试图避免)的EnableGlobalMethodSecurity配置注释

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