Tôi có một bộ điều khiển cụ thể (trong số nhiều bộ điều khiển khác). Tôi muốn cho phép các yêu cầu tới bộ điều khiển này chỉ được gọi từ máy chủ cục bộ. Whats cách tốt nhất để làm điều này là gì?Spring MVC - cho phép yêu cầu từ localhost chỉ đến bộ điều khiển cụ thể
đây là bộ điều khiển:
@Controller
public class LocalProvider {
@RequestMapping(value = "/someURL", method = RequestMethod.POST)
@ResponseBody
public responseDTO doSomethingForLocalRequest(@RequestBody ReqDTO reqDTO) {
//do something
}
EDIT:
Succesffuly đạt được điều đó bằng cách thêm dòng sau vào security.xml mùa xuân:
<intercept-url pattern="/someURL/*" access="hasIpAddress('127.0.0.1')" />
cách bạn sẽ thực hiện "MVC đánh chặn mà sẽ kiểm tra xem phương pháp xử lý được chú thích với @LocalhostOnly"? –
Bạn có thể kiểm tra nó bằng cách sử dụng trình xử lý Đối tượng được chuyển làm đối số trong phương thức preHandle của trình chặn. Hãy xem câu trả lời ở đây cho một kịch bản tương tự: http://stackoverflow.com/questions/22931074/spring-mvc-get-mapping-controller-method-from-interceptor/22960047#22960047 –