如何在春季5中为所有cookie设置SameSite:Strict

时间:2019-05-08 07:09:09

标签: spring cookies

有人可以告诉我如何将SameSite:Strict添加到在Spring 5.1中创建的所有cookie吗?我知道在春季4,不支持此属性。但是从Spring 5.1开始,它可以像在here上声明的一样!

但是我不知道如何将此应用于我的项目?我应该放在哪里?请帮我!谢谢!

1 个答案:

答案 0 :(得分:0)

我无法使用Spring将SameSite属性添加到我的项目中,因为对象javax.servlet.http.Cookie不支持该属性。但是我可以通过将以下行添加到conf / context.xml中来自定义Apache tomcat(版本9.0.11)中的cookie标头:

<Context allowCasualMultipartParsing="true">
    ...
    <CookieProcessor className="org.apache.tomcat.custom.coyote.TomcatCoyoteCustomer"/>
</Context>

然后使用TomcatCoyoteCustomer类创建一个项目“ CustomCookieProcessor”,该项目扩展了Rfc6265CookieProcessor类,重写方法generateHeader并将“ SameSite:Strict”附加到cookie标头中。最后,将“ CustomCookieProcessor”项目的jar文件复制到Tomcat的文件夹lib。您可以在here上了解有关Apache Tomcat的CookieProcessor的更多详细信息!