码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET: Chrome80+版本SameSite导致的Cookie故障

时间:2020-03-19 19:03:02      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:sys   技术   故障   net   配置   排查   png   settings   ocs   

 

近期将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

 

ASP.NET: Chrome80+版本SameSite导致的Cookie故障

标签:sys   技术   故障   net   配置   排查   png   settings   ocs   

原文地址:https://www.cnblogs.com/xmai/p/12526472.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!