Play Framework 2.3 CSRF Protection



我使用的是Java Play Framework 2.3.5,希望添加全局CSRF保护,如下所述:https://www.playframework.com/documentation/2.3.x/JavaCsrf

如果我复制&粘贴以下代码:

import play.GlobalSettings;
import play.api.mvc.EssentialFilter;
import play.filters.csrf.CSRFFilter;
public class Global extends GlobalSettings {
  @Override
  public <T extends EssentialFilter> Class<T>[] filters() {
    return new Class[]{CSRFFilter.class};
    }
}

csrfToken值将与正常的cookie值连接起来,而不是像我预期的那样创建一个新的cookie。

PLAY_SESSION="b8c5eead5e95be30edaccec5680aa58fb1b5cae5-csrfToken=4dfb0c575ac272f9b9e457e40a287c81972baec5-1414171392926-af3ee2c36fdbdbf65c68dcc4"; path=/; domain=localhost; HttpOnly

我不知道以任何方式干扰播放会话管理。我是不是错过了一些显而易见的东西?

来自文档:

可以在application.conf:中配置以下选项

csrf.cookie.name-如果配置,Play将把CSRF令牌存储在具有给定名称的cookie中,而不是存储在会话中。

最新更新