默认, 在知足下面三个条件的状况下,Play框架会作一CSRF(跨站点请求伪造) 的检查:前端
经过以下配置,能够pass CSRF检查:后端
play.filters.csrf.header.bypassHeaders {
X-Requested-With = "*" // X-Requested-With头域表示请求是经过Ajax发的,就会pass CSRF 检查
Csrf-Token = "nocheck" // 这个也会pass CSRF检查
}cookie
-----------------------------------------------------------------分割线-------------------------------------------------------------------------------框架
我遇到的问题是:前端的两个请求, 成功的request 不带cookie, 不成功的带了cookie(相对路径), 然后端对于有cookie的会执行检查。我作了以下尝试:
play.filters.csrf.header.bypassHeaders {
X-Requested-With = "*"
Csrf-Token = "nocheck"
}spa
问题解决。csrf