【发布时间】:2015-03-13 07:33:48
【问题描述】:
使用 MVC
我在登录时创建一个 cookie,如下所示:
Response.Cookies.Add(New HttpCookie("UserId", Id))
我搜索了删除 cookie 以便在注销时使用它的方法,结果发现:
If Response.Cookies("UserId") IsNot Nothing Then
Dim c = New HttpCookie("UserId")
c.Expires = DateTime.Now.AddDays(-1)
Response.Cookies.Add(c)
End If
Response.Cookies.Clear()
在客户端,我正在执行以下操作:
document.cookie = "access_token=";
但我发现这不会删除 cookie,它只是清空它,我仍然会有一个名为 UserId 的 cookie,其值为 Nothing。
现在,如果用户在它之后立即注销并登录,这会给我带来问题。
我要做的是彻底删除名为UserId的Cookie,从浏览器cookie中彻底清除,而不是清空它的值。
有什么办法吗?
编辑
我认为问题出在这部分:
If Response.Cookies("UserId") IsNot Nothing Then
Dim c = New HttpCookie("UserId")
因为当我调试这段代码时,在这一行之后,我得到的 Response.Cookies 的计数是 2,这意味着它正在创建 2 个具有相同名称的 cookie 并感到困惑。
【问题讨论】:
标签: javascript cookies model-view-controller httpcookie