2016-04-03 89 views
6

我想保護只有一個URL,同時允許匿名訪問的一切。允許所有網址,但只有一個在春季安全

我在互聯網上看到的Java配置示例似乎都表明,您需要明確指出每個URL需要permitAll,需要保護的URL需要適當的hasRole。這在我的情況下,創建了一個非常笨拙的java代碼,我每次嚮應用程序添加一個新的URL時都會修改它。有沒有更容易使用的java配置?

另請注意,在我的情況下,我所保護的URL是一個子資源,例如employee/me,我希望employee/list等可匿名訪問。

回答

7

如果您使用的Java 配置,你可以使用像你configure方法如下:

@Override 
protected void configure(HttpSecurity http) throws Exception { 
    http 
      .authorizeRequests() 
       .antMatchers("/employee/me").authenticated() 
       .antMatchers("/**").permitAll() 
} 
+1

感謝,這工作,我已經給逸岸這導致其失敗的一個錯誤的順序。 –