spring - 如何在春季 5 中为所有 cookie 设置 SameSite:Strict
问题描述
有谁可以告诉我如何将 SameSite:Strict 添加到 spring 5.1 中创建的所有 cookie 中?我知道在春季 4 中,不支持此属性。但是从 Spring 5.1 开始,它可以在这里声明!
但我不知道如何将其应用于我的项目?我应该把它放在哪里?请帮我!谢谢!
解决方案
我无法使用 Spring 将 SameSite 属性添加到我的项目中,因为 Object 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>
然后使用扩展 Rfc6265CookieProcessor 类的 TomcatCoyoteCustomer 类创建一个项目“CustomCookieProcessor”,覆盖方法 generateHeader 并将“SameSite:Strict”附加到 cookie 标头。最后,我将“CustomCookieProcessor”项目的 jar 文件复制到 Tomcat 的文件夹 lib 中。您可以在此处阅读有关 Apache Tomcat 的 CookieProcessor 的更多详细信息 !
推荐阅读
- jquery - 在 WooCommerce 状态仪表板小部件中重命名单词
- firebase - IOS 应用程序的颤振通知声音
- key-value - 如何在 python turtle 中使用“if”和“onkeypress”?
- python - 带有格式化段落的 Python 中 eval() 函数的行为
- database - TYPO3:如何使用 QueryBuilder 更改数据库中字符串的一部分?
- php - 图片上传后laravel丢失文件
- python - 如何在 Django 中制作消息模型,您可以在其中选择多个人作为收件人
- ios - 如何在 iOS 中使用 WKWebView 发送 POST 请求?
- tempdb - 网络交换机更改后,我们的 Temp DB 开始快速填满
- brightway - 如何处理 Brightway 的报废场景?