我有一个启用了 CSRF 保护的 Spring Web 应用程序。我能够通过 AJAX 调用访问 RESTful 服务,但是当我使用其他应用程序(如 httpurlconnection)访问该服务时,出现 401 错误(CSRF token 为空)。
我知道要访问 RESTful 服务,我需要在请求 header 中传递一个 token ,但是如何获取 CSRF token ?
最佳答案
您可以在 Spring MVC 中创建一个获取 CSRF token 的映射:
@RequestMapping(value="/csrf-token", method=RequestMethod.GET)
public @ResponseBody String getCsrfToken(HttpServletRequest request) {
CsrfToken token = (CsrfToken)request.getAttribute(CsrfToken.class.getName());
return token.getToken();
}
关于spring - 如何使用 Spring RESTful Web 服务处理 CSRF 保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33125598/