2016-07-06 69 views
2

我知道我們可以使用Spring安全性來限制對IP地址的訪問,或者我可以創建自定義註釋來爲此添加一些自定義邏輯。 我需要限制對我的應用程序中的控制器的訪問權限,以僅限特定的域名(第三方),我檢查了這個第三方提供商的IP範圍,我可以用它來配置在我的最後,但是他們想要更多自由周圍的IP地址,並希望我創建基於域名的訪問。Spring MVC:單個控制器的域限制

我通過文檔檢查,但無法找到任何這樣的用例,任何人都可以幫助我瞭解這是可能的,或者我需要回到基於IP的訪問機制?

+0

IP不會忽略,可以欺騙一看,頭可以加入。如果你想對這樣的東西進行適當的訪問限制,考慮使用證書固定的雙向ssl握手。但是這通常在網絡服務器中涵蓋,而不是在彈簧引導中。 –

回答

0

我想你可以使用Spring的CORS支持。

也就是說,如果您期望的請求,域名是example.com,你可以在你的控制器方法有以下標註

@CrossOrigin(origins = "http://example.com") 

這@CrossOrigin註釋使跨域請求僅 這個特定方法。默認情況下,它使用@RequestMapping註釋中指定的HTTP方法和30分鐘的最大範圍內的所有源,所有標題, 。您可以通過 指定其中一個註釋屬性的值來定製此行爲:來源, 方法,allowedHeaders,exposedHeaders,allowCredentials或maxAge。 在這個例子中,我們只允許http://localhost:8080發送 交叉源請求。

在下列網址https://spring.io/guides/gs/rest-service-cors/