如何在.NET 4.5.2 Web应用程序中排除SameSite属性

问题描述 投票:0回答:1

我有一个.NET 4.5.2 Web应用程序,我需要在其中跨站点上下文传递身份验证cookie。我通过将其附加到Path来设置SameSite = None。

FormsAuthentication.SetAuthCookie(myUser, false, $"{FormsAuthentication.FormsCookiePath}; SameSite=None; Secure");

某些浏览器与SameSite = None(https://www.chromium.org/updates/same-site/incompatible-clients)不兼容,因此我必须排除它以支持那些浏览器:

FormsAuthentication.SetAuthCookie(myUser, false, FormsAuthentication.FormsCookiePath);

在两种情况下,.NET都会在Cookie中添加SameSite =“ Lax”,因此在第一种情况下,Set-Cookie标头看起来像:]]

AC7.AUTH=ABC; path=/; SameSite=None; secure; HttpOnly; SameSite=Lax

在第二种情况下:

AC7.AUTH=ABC; path=/; HttpOnly; SameSite=Lax

这似乎是在我们安装Microsoft的KB4530689安全更新时引入的。我们卸载了该更新,并将其还原为不向所有cookie附加“ SameSite = Lax”。我不确定如何长期缓解此问题,如果Microsoft打算在较旧版本的.NET中使用此行为,或者是否有其他解决方案我只是看不到。任何帮助表示赞赏。

我有一个.NET 4.5.2 Web应用程序,我需要在其中跨站点上下文传递身份验证cookie。我通过将其附加到Path FormsAuthentication.SetAuthCookie(...

cookies .net-4.5 samesite
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.