-
登陆界面重写
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:'账号或者密码错误'});
}
});