我已經有了一個應用程序,它通過Spring MVC提供一些web內容,還有一些在同一個URI下的JSON。如何使用Spring Security來保護REST API(而不是視圖)?
@Controller
public class SomeController {
@RequestMapping(value = {"/someUri"}, method = RequestMethod.GET, produces = MediaType.TEXT_HTML_VALUE)
public String getView() {
return "index.html";
}
@RequestMapping(path = "/someUri", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String getJson() {
return "{ \"some\": \"json\" }";
}
,現在我想,以確保只有REST API產生的MediaType.APPLICATION_JSON_VALUE
與春季安全。
當我在每種方法上添加@PreAuthorize
或@Secured
註釋時,它都能正常工作。但我想全局配置它,例如在WebSecurityConfiguration#configure(HttpSecurity http)
方法中。是否有可能以全球任何方式確保產生特定媒體類型的端點?