У меня есть веб-приложение. NET 4.5.2, в котором мне нужно пройти проверку подлинности ie в межсайтовом контексте. Я устанавливаю SameSite = Нет, добавляя его в Путь
FormsAuthentication.SetAuthCookie(myUser, false, $"{FormsAuthentication.FormsCookiePath}; SameSite=None; Secure");
,
Некоторые браузеры несовместимы с SameSite = Нет (https://www.chromium.org/updates/same-site/incompatible-clients), и поэтому я должен исключить его для поддержки этих браузеров:
FormsAuthentication.SetAuthCookie(myUser, false, FormsAuthentication.FormsCookiePath);
В обоих случаях. NET добавляет SameSite = "Lax" к повару ie, так что в первом случае заголовок Set-Cook ie выглядит следующим образом:
AC7.AUTH=ABC; path=/; SameSite=None; secure; HttpOnly; SameSite=Lax
А во втором случае:
AC7.AUTH=ABC; path=/; HttpOnly; SameSite=Lax
Похоже, это было введено, когда мы установили обновление безопасности KB4530689 от Microsoft. Мы удалили это обновление, и оно вернулось назад, чтобы не добавлять «SameSite = Lax» ко всем файлам cookie. Я не уверен, как решить эту проблему в долгосрочной перспективе, если Microsoft предполагала такое поведение с более старыми версиями. NET, или если есть другое решение, которое я просто не вижу. Любая помощь приветствуется.