express-session

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)