2014-03-03 48 views
2

我正在为我的web应用程序的登录/出功能。当用户登录我的NodeJS(Express)服务器时,在.mydomain.com上用路径'/'设置名为“user”的cookie变量。然后我使用AngularJS来访问用户cookie。它可以从我的域下的任何页面读取它,但是当我想要将用户登出时。我尝试删除Cookie值,但不会删除索引页('/')以外的任何其他页面。节点和角落cookie路径

我知道有些事情与Cookie路径有关,但据我所知,可以在同一个域中的任何位置使用路径“/”形式读写Cookie。情况并非如此吗?

设置饼干,

的NodeJS
res.cookie('user', JSON.stringify(response.user), { 
    expires: moment().add('d', 2).toDate(), 
    path: '/', 
    domain: '.mydomain.com' 
}); 

从/ MYPAGE/2页删除的cookie,AngularJS

delete $cookies['user']; 

反正这可能是工作?

谢谢!

回答

1

我通常会发布到服务器。

因此,在客户端,我有这样的:

$scope.logout = function() { 
    $http.post('/logout').then(function(){ 
    $state.go('login'); 
    }); 
}; 

,并在服务器端:

app.post('/logout', function(req, res, next) { 
    delete req.session.user 
    req.session.regenerate(done); 
    res.json(200, 'OK'); 
});