美文网首页
express-session

express-session

作者: 蔡南坤 | 来源:发表于2017-03-15 22:33 被阅读0次

    express提供的express-session模块基本的使用:

    1、在适当位置引入该模块:

    app.use(session({ s

         resave: true, // don't save session if unmodified

         saveUninitialized: false, // don't create session until something stored

         secret: 'cnk'

    }));

    引入之后,该模块会自动为每一个会话生成一个session,并分配一个sessionid来唯一标识该session,并将sessionid存储在当前会话的cookie中,每当有前端同一个会话对服务器发出请求时,会自动根据其sessionid(在浏览器控制台输入:“console.log(document.cookie)可以查看”)来调用存储在服务器内存的相应的session。

    2、所以我们可在登陆模块直接设置session.user="随便一个字符串",然后在那些只有登陆之后才给看的页面添加限制(判断它们的session之中是否有user属性),如果没有就跳转至登陆界面或者注册界面。如下例子:

    限制模块:

    app.use(function(req,res,next){

       if(req.session.user||req.path=="/login.html"){

            //如果已经登陆或者访问的是登陆页就放行

            console.log("login or had session.user");

            next();

        }else{

            //转向登陆页面

             console.log("doesnot has session.user")

             res.redirect("/login.html");

        }

    })

    ps:得添加在那些登陆完才能查看的页面之前

    登录模块:

    添加以下语句在账目密码验证已经正确的会话后:req.session.user=account;

    这样子登录模块的基本功能就已经实现了。

    相关文章

      网友评论

          本文标题:express-session

          本文链接:https://www.haomeiwen.com/subject/htirnttx.html