【问题标题】:How/where to programmatically delete cookies to avoid a 403.14 Forbidden error?如何/在哪里以编程方式删除 cookie 以避免 403.14 禁止错误?
【发布时间】:2015-03-04 09:52:48
【问题描述】:

我有一个使用表单身份验证的应用程序。它还有一个默认文档(不需要目录浏览)。

<authentication mode="Forms">
  <forms loginUrl="~/Access/Login.aspx" protection="All" timeout="60" path="/" />
</authentication>

首先,登录页面按预期显示,并在成功登录后进行身份验证。然后,用户单击重定向以将应用程序转移到另一个域。

稍后,用户尝试重新进入应用程序,但在没有收到 403.14 Forbidden 错误的情况下无法导航到 Login.aspx 页面。存在以下 cookie:

".ASPXAUTH"
"ASP.NET_SessionId"
"domain.org"

如果使用 IE11 的“清除域的 cookie”手动删除 cookie,登录页面将成功加载。但是以编程方式删除这些 cookie 没有任何效果; 403.14 错误仍然发生。如何/在哪里可以以编程方式删除 cookie 以避免错误?

【问题讨论】:

  • 我认为您正在寻找错误的答案,您的身份验证一定有问题。 “删除” cookie 的唯一方法是将其设置为立即过期。

标签: c# asp.net forms-authentication http-status-code-403


【解决方案1】:

需要删除身份验证 cookie。在重定向生效之前添加以下代码:

System.Web.Security.FormsAuthentication.SignOut();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2012-05-31
    • 1970-01-01
    • 2013-04-24
    • 2014-07-29
    相关资源
    最近更新 更多