由于 Chrome 将于SameSite=None2 月 4 日从 80 版本开始强制使用安全标志,因此我尝试使用以下代码行在我的 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);
Run Code Online (Sandbox Code Playgroud)
但这些属性不起作用。即使将 .Net Framework 版本升级到 4.8 后,该标志也没有设置SameSite=None为 cookie 所需的值。另外,我面临的一个奇怪的问题是,当我在 web.config 中使用以下行时,在从服务器请求它时,该标志会在我的 cookie 中正确设置:
<sessionState cookieSameSite="None" />
<httpCookies sameSite="None" requireSSL="true" />
Run Code Online (Sandbox Code Playgroud)
但是,当我在负载平衡中执行相同的配置并在另一台服务器上发布时,它不起作用。
有谁知道如何在 C# 中直接设置这个东西吗?
感谢您提前的帮助