2016-04-08 18 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 { 
... 
} 
啓用