温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

NodeJs session 使用

发布时间:2020-07-30 18:41:32 来源:网络 阅读:1343 作者:Cherish纯紫 栏目:开发技术

以登录为例

基本实现原理:

  1. 客户端通过账号密码登录
  2. 服务器接收请求参数,生成sessionId 将sessionId存储到客户端的cookie中
  3. 下一次客户端请求的时候带上cookie ,服务器获取cookie中的sessionId验证身份
  4. 响应验证通过的客户端,也就是登录成功的用户

使用方法:

  1. node.js中需要借助express-session实现session功能。使用 npm instsall express-session下载。
  2. 导入express-session模块 const session = require('express-session');
  3. 配置session
    app.use(session({
    secret: 'secret key', //使用随机自定义字符串进行加密
    saveUninitialized: false,//不保存未初始化的cookie,也就是未登录的cookie
    cookie: {
                maxAge: 24 * 60 * 60 * 1000 //设置cookie的过期时间为1天
                activeDuration: 5* 60*1000, // 激活时间,比如设置为30分钟,那么只要30分钟内用户有服务器的交互,那么就会被重新激活。
    }
    }))

    4.在用户登录的时候保存用户的信息

    app.post('/login', async (req,res) => {
        const { email, password } = req.body;
        let user = await User.findOne({ email: email });
        if (user.password == password){
            req.session.user = user;//登录成功将用户信息存储到session下面
            res.redirect('/home/');
        }else{
            res.render('login.art',{error:'账号或者密码错误'})
        }
    })
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI