res.clearCookie() 和 req.session.destroy() 之间的实际区别是什么?



我正在使用node.js,以及expressexpress-session包来测试各种CRUD实现。

res.clearCookie()req.session.destroy()之间的实际区别是什么?

下面的两种代码模式似乎都完成了同样的事情,但我想知道我是否错过了一些重要的东西。

代码模式 1:

router.post('/logout', function(req, res, next) {
req.session.destroy( function(error) {
if(error) {
console.log(error);
}
res.redirect('/');
});
});

代码模式 2:

router.post('/logout', function(req, res, next) {
res.clearCookie(SESSION_NAME);
res.redirect('/');
});

res.clearCookie()只会删除cookie,如果你能以某种方式恢复cookie(如果你有备份或有人偷了它(,你将重新登录(或任何cookie的功能(。如果您使用req.session.destroy(),会话也将在服务器中失效,因此即使您取回了 cookie,您也不会取回会话。

相关内容

最新更新