0

我正在尝试使用删除用户的身份验证cookie $cookieStore.remove('.ASPXAUTH'),但如果我之后刷新页面,cookie仍然存在并且页面仍然可用,而不是像我期望的那样将用户重定向到登录页面。

为什么我删除认证cookie并刷新页面后用户仍然可以查看页面?

4

1 回答 1

2

恐怕您对使用 javascript 的 http-only cookie 无能为力。如果它是仅限 http 的,则后端必须将其删除。您可以使用 ajax 触发注销。

$http.get("/logout");

另一种选择是使用非 http cookie,以便您可以使用 javascript 对其进行修改。但这会使它变得脆弱和不安全,因为 XSS 缺陷会抓住您的 cookie 并允许您的会话被劫持。

PS:如果您不想加载后面的页面,请尝试 HEAD 请求方法(可能像“做然后忘记它”一样工作)

$http.head("/logout");
于 2014-10-20T20:09:18.920 回答