您的位置:首页 > 其它

express-session相关用法

2015-07-02 23:27 363 查看
  通常我们在node的登录注册小案例时,我们经常要用到express-session做会话处理。

  express-sessionApi使用方法:https://github.com/expressjs/session

  

var session = require('express-session');

var app = express();
app.use(session({
secret: 'secret',
secure: true,
cookie:{
maxAge: 1000*60*30; //如果不设置则为null,关闭会话就失去,1000毫秒*60*30  半个小时周期
}
}));

//这里是浏览器刷新请求时执行即执行,app.get('/',function(){})
app.use(function(req,res,next){
res.locals.user = req.session.user;   // 从session 获取 user对象
var err = req.session.error;   //获取错误信息
delete req.session.error;    //删除req.session.error 请求的错误session
res.locals.message = "";   // 展示的信息 message
if(err){
res.locals.message = '<div class="alert alert-danger" style="margin-bottom:20px;color:red;">'+err+'</div>';
}
next();  //中间件传递
});

app.post('/login',function(req, res){
var user={
username:'admin',
password:'admin'
}

if(req.body.username===user.username && req.body.password===user.password){
req.session.user=user;
return res.redirect('/home');
} else {
req.session.error='用户名或密码不正确';

//只是跳转没有请求,导致执行app.get,app.post,则req.session.error那段不会执行,不会被删除
return res.redirect('/login');
}

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: