如何在 .net 4.5.2 中将 SameSite 值设置为 None?

Vai*_*ukh 6 .net c# asp.net-mvc session .net-4.5

从第三方站点重定向回我的站点时,用户会话变为空。我检查了Response.Cookies["ASP.NET_SessionId"]; 重定向后设置新值。默认情况下,ASP.NET_SessionId 设置为 Lax。任何可能的方法来更改 .net framework 4.5.2 的 Session_Start 中的 SameSite 值或可能的任何地方?

web*_*ert 6

使用旧版本的 .net 框架解决此限制的几个选项

HttpContext.Current.Response.Headers.Append("set-cookie", $"{key}={value}; path=/; SameSite=Strict; Secure");
Run Code Online (Sandbox Code Playgroud)

是使用定义的 SameSite 手动设置标题的一种选择。上面,key是cookie名称,value是cookie值

或者:

myCookie.Path = "/; SameSite=Strict; Secure";
Run Code Online (Sandbox Code Playgroud)

我已经测试了这些选项,两者似乎都有效

上面列出的值仅用于示例,您需要提供适当的值 [Lax|Strict|None|etc]。Secure 标志表示它仅通过 https 传输。ymmv