我正在尝试实现一个以登录表单开头的单页应用程序。对于前端,我使用的是 AngularJS。
在登录的控制器中,我检查身份验证数据,如果没问题,我设置一个带有一些用户数据的 cookie(使用 $cookieStore 服务)并路由到另一个视图。在这里,在第二个视图的控制器中,我检查 cookie 中的用户是否为空,如果是,我重定向到登录视图。
我想要做的是当用户关闭浏览器时,或者如果离开页面,cookie 将被删除。我曾尝试使用:
$scope.$on("$locationChangeStart", function(){
$cookieStore.remove('user');
});
或者
$scope.$on("$destroy", function(){
$cookieStore.remove('user');
});
但它不起作用。我想避免用户登录(设置了 cookie)并成功重定向到第二个视图,然后关闭浏览器/离开页面(cookie 仍然存在)的情况。另一个用户写入了第二个视图的 url,因为包含第一个用户数据的 cookie 仍然存在,所以他成功验证。
谁能帮我这个?