2018-04-27登陆界面重写/session验证登陆

  1. 登陆界面重写
  2. session验证登陆 参考地址,参考地址2

app.js
var session = require('express-session');
var FileStore = require('session-file-store')(session);
var identityKey = 'skey';

app.use(session({
    name: identityKey,
    secret:'admin' ,//'chyingp', // 用来对session id相关的cookie进行签名
    //store: new FileStore(), // 本地存储session(文本文件,也可以选择其他store,比如redis的)
    saveUninitialized: false, // 是否自动保存未初始化的会话,建议false
    resave: false, // 是否每次都重新保存会话,建议false
    cookie: {
        maxAge: 60 * 1000 // 有效期,单位是毫秒
    }
}));
admin.js
var findUser = function(name, password){
  return users.find(function(item){
    return item.name === name && item.password === password;
  });
};

router.get('/', function(req, res, next){
    var sess = req.session;
    var loginUser = sess.loginUser;
    var isLogined = !!loginUser;
    if(sess.sign){//如果是登陆状态
        res.render('admin', {
        isLogined: isLogined,
        name: loginUser || ''
       });
    }else{
        res.render('login');
    }
});

router.post('/',function (req,res,next) {
    var sess = req.session;
    var username=req.body.username;
    var password=req.body.password;
    var user = findUser(username, password);//是否存在用户
    if(user){
        req.session.regenerate(function(err) {
          if(err){
            res.render('login',{mes:'登陆发生了某些错误'});
            return 0;
          }
          req.session.loginUser = user.name;           
          res.render('admin');
        });
     }else{
        res.render('login',{mes:'账号或者密码错误'});
    }  
});

你可能感兴趣的:(2018-04-27登陆界面重写/session验证登陆)