ASP.NET: Chrome80+版本SameSite导致的Cookie故障(实际上是4.7以后的framework支持新的Cookie标准属性SameSite)
2022-02-12 14:11 狼人:-) 阅读(310) 评论(1) 编辑 收藏 举报近期将Chrome更新到80+版本后,出现单点登录故障;祭出fiddler逐个请求排查后,发现有些环节的Cookie没有正确的写入和删除
F12和Fiddler上都看到Cookie的属性SameSite=None对比请求后发现可能是这里的问题;
引起的原因-代码层面
ASP.NET虽然服务端用的Framework是4.03的包;但是对比相关的system.web.dll反编译后,对比正常的服务器和非正常处理cookie的服务器
确实2019年12月的dll直接覆盖的4.03里的dll;多了一个SameSite的属性;
、
解决办法:
实际上是4.7以后的framework支持新的Cookie标准属性SameSite
如果老的站点无需维护可以使用临时的方案
配置文件里加上,即可解决
<appSettings> <add key="aspnet:SuppressSameSiteNone" value="true" /> </appSettings>
如果是持续迭代的项目,可以根据实际情况迭代代码设置相关属性值,或者做下面的全局配置:
<system.web> <httpCookies sameSite="Strict" requireSSL="false" /> <system.web>
SameSite支持Strict、Lax、None、Unspecified从严格到宽松依次排序
资料
https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite#sob
声明:此博有部分内容为转载,版权归原作者所有~
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)