C#SameSite旗帜问题
由于Chrome将于2月4日从80版开始强制使用C#SameSite旗帜问题,c#,google-chrome,httpcookie,samesite,C#,Google Chrome,Httpcookie,Samesite,由于Chrome将于2月4日从80版开始强制使用SameSite=None和安全标志,因此我尝试使用以下代码行在我的cookie中设置此标志: HttpCookie myCookie = new HttpCookie("XYZ"); myCookie.Value = newCookie; myCookie.SameSite = SameSiteMode.None; myCookie.Secure = true; myCookie.Expires = DateTime.Now.AddYears(2
SameSite=None
和安全标志,因此我尝试使用以下代码行在我的cookie中设置此标志:
HttpCookie myCookie = new HttpCookie("XYZ");
myCookie.Value = newCookie;
myCookie.SameSite = SameSiteMode.None;
myCookie.Secure = true;
myCookie.Expires = DateTime.Now.AddYears(2);
context.Response.Cookies.Add(myCookie);
但这些属性不起作用。
即使在将.Net Framework版本升级到4.8之后,也不会为cookie设置所需的SameSite=None
。
我面临的另一个奇怪的问题是,当我在web.config中使用以下行时,当从服务器的另一端请求时,会在cookie中正确设置标志:
<sessionState cookieSameSite="None" />
<httpCookies sameSite="None" requireSSL="true" />
但是,当我在负载平衡中的另一台服务器上进行相同的配置和发布时,它就不起作用了 有没有人知道如何在C#中直接设置这个东西
提前感谢您的帮助您必须在2019年12月10日(或更晚)安装.NET Framework的累积更新。为您的Windows和.NET Framework版本找到适当的更新 如果没有更新,ASP.NET将永远不会向响应cookies添加SameSite=None属性
在更新过程中,如果您显式设置为SameSiteMode.None,或者在Web.config中设置了
属性,则ASP.NET将向响应cookies添加SameSite=None属性。更新还将ASP.NET表单身份验证和会话cookie的默认SameSite模式更改为Lax。若要将其更改回无,请在Web.config中设置
和
属性。通过“不工作”您的意思是什么?响应的Set Cookie
标题中有什么内容?您可以使用“但当我在负载平衡中的另一台服务器上进行相同配置并发布时,它不工作”中的指导进行检查,这听起来像是(a)负载平衡器正在与您的cookie头进行交互(这并非闻所未闻),或者(b)从LB提供内容的域与cookie的域不匹配。