2017-10-04 69 views
0

我的應用程序使用spring安全性。我知道你可以使用antMatchers來允許請求映射到你的應用程序的一些URI。但是我也需要允許從外部api向我的應用程序中的URI發出請求,並僅僅爲此api。我需要這樣的事情:Spring Security禁止從特定網址發出的請求的安全性

 @Override 
    protected void configure(WebSecurity web) throws Exception 
    {    
     web.ignoring() 
      .antMatchers("http://externalTestApi.com"); 
    } 

有誰知道這是可能的嗎?我在這方面沒有找到任何東西。

回答

0

你可以做這樣的事情(如果你要多個條件組合)

.authorizeRequests() 
.antMatchers("/user/list") 
.access("authenticated or hasIpAddress('666.666.666.666') or hasIpAddress('127.0.0.1') or hasIpAddress('0:0:0:0:0:0:0:1')") 

.authorizeRequests() 
.antMatchers("/user/list") 
.hasIpAddress("0.0.0.0/0"); 
+0

,對於接受的配置方法工作的HttpSecurity作爲參數,我需要這個使用WebSecurity配置方法。 –

+0

你不擴展'WebSecurityConfigurerAdapter'嗎?只需@override'configure(HttpSecurity http)'並在那裏做你的安全? – prettyvoid

+0

在WebSecurityConfigurerAdapter中有2個配置方法,一個採用HttpSecurity和一個採用WebSecurity,我需要這個配合WebSecurity的配置方法,因爲這是請求被過濾,我得到一個403 null。我正在使用RestTemplate從api發佈帖子,因爲它是發佈它做了一些過濾,並與我的會話有問題。 –

相關問題