【问题标题】:Can't delete a cookie on test server无法删除测试服务器上的 cookie
【发布时间】:2019-03-07 01:00:54
【问题描述】:

我在删除测试服务器上的 cookie 时遇到问题。在我的开发机器上,cookie 删除得很好。

这是来自 fiddler 的请求/响应。我正在尝试删除 .Hv2 cookie

我尝试过不设置响应 cookie 的路径部分 - 没有区别。这是从 FF 中抓取 cookie 的样子。

我注意到我的开发机器和测试服务器之间的一个区别是我的开发机器上 cookie 的主机是 .my.hostname.dev 而不是 .hostname.dev

这是我用来删除 cookie 的代码

var oldFormsCookie = context.Request.Cookies[".Hv2"];
if (oldFormsCookie != null)
{
    context.Response.Cookies.Remove(oldFormsCookie.Name);
    var removalCookie = new HttpCookie(oldFormsCookie.Name)
    {
        Expires = DateTime.Now.AddYears(-1), 
        Domain = oldFormsCookie.Domain,
        Value = "remove"
    };
    context.Response.SetCookie(removalCookie);
}

在我看来它应该删除这个 cookie!任何人有任何想法?谢谢

【问题讨论】:

    标签: asp.net firefox cookies


    【解决方案1】:

    看起来问题在于 cookie 的域显示为 null,而实际上它与 FormsAuth cookie 相同。我将代码更改为

    Domain = oldFormsCookie.Domain ?? FormsAuthentication.CookieDomain
    

    它似乎有效

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-14
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 2021-05-19
      相关资源
      最近更新 更多