【问题标题】:.NET MVC redirect from Handler and sameSite=strict cookies来自 Handler 和 sameSite=strict cookie 的 .NET MVC 重定向
【发布时间】:2020-06-21 18:12:02
【问题描述】:

我有一个大问题。我正在使用处理程序来处理 saml 响应。在处理程序中,我正在检查一切是否正常,然后我正在使用 cookie 登录用户。

context.Response.Cookies.Add(cookie);

在此之后我正在重定向:

context.Response.Redirect("~/", false);

重定向后用户未登录(我必须刷新页面并且他已登录),因为未发送 cookie。设置为 SameSite=Strict。

此外,在 global.asax 中,我正在检查用户是否与实际浏览器有活动会话,并且由于没有 sessionID == no cookies => 注销用户,它无法正常工作。 流程是这样的:

Go to login page -> redirect to saml system -> redirect to handler -> redirect to Home

如何在 SameSite 设置为 Strict 的网站上的页面之间使用所有 cookie 重定向用户?

【问题讨论】:

  • SameSite 限制仅适用于用户跨越源/域(重定向或 CORS)时。您的帖子没有说明用户是否来自或前往其他网站。请澄清这一点。
  • 我在我的问题中添加了一个流程。可能问题在于“重定向到处理程序”(未发送 cookie)
  • redirect-from-SAML-provider 步骤导致中断,因为在重定向中未发送严格模式 SameSite cookie。唯一的解决方法是将 your cookie 更改为 Lax(如果使用 GET 重定向)或 None(如果使用 POST 重定向)。

标签: c# cookies httphandler samesite


【解决方案1】:

我不得不将 SameSite=Strict 更改为 SameSite=Lax。它仍然安全并且正在工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 2017-07-02
    • 2020-05-16
    • 2017-02-06
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    相关资源
    最近更新 更多