我有一個特定的控制器(在許多其他控制器中)。 我想只允許從本地主機調用此控制器的請求。 最好的辦法是做什麼?Spring MVC - 只允許來自本地主機的請求到特定的控制器
這裏是控制器:
@Controller
public class LocalProvider {
@RequestMapping(value = "/someURL", method = RequestMethod.POST)
@ResponseBody
public responseDTO doSomethingForLocalRequest(@RequestBody ReqDTO reqDTO) {
//do something
}
編輯:
Succesffuly實現了通過添加以下到春天的security.xml:
<intercept-url pattern="/someURL/*" access="hasIpAddress('127.0.0.1')" />
你將如何實現「MVC攔截器,如果處理方法與@LocalhostOnly註釋,將檢查」? –
您可以使用在攔截器的preHandle方法中作爲參數傳遞的處理程序Object來檢查它。看看這裏的答案類似的情況:http://stackoverflow.com/questions/22931074/spring-mvc-get-mapping-controller-method-from-interceptor/22960047#22960047 –