【发布时间】:2017-02-23 08:53:21
【问题描述】:
我正在经历以下security tutorial,它像这样配置CsrfTokenRepository:
.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
这就是让 Ajax 请求在所有库中运行所需的全部内容吗? $http 的 Angular 文档说 Angular 会读取 Spring 提供的 CSRF cookie,并在发出请求时设置相应的标头。所以我假设它这样做是因为发送 Ajax 请求时不会自动包含 cookie?
[更新]
我又看了一遍文章,上面说 CSRF 保护是由header 提供的。因此,如果我以正确的方式解释,那就是客户端以一种独特的方式发回 cookie 值,这种方式与最初提供 CSRF 保护的方式不同。换句话说,客户端接收到 cookie 并改变它的发回方式,以便服务器知道客户端确实在控制 cookie?
【问题讨论】:
标签: angularjs ajax http spring-security csrf