最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

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

IT培训 admin 12浏览 0评论

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,也不会获得该会话。

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,也不会获得该会话。

发布评论

评论列表 (0)

  1. 暂无评论