zoukankan      html  css  js  c++  java
  • express-session相关用法

      通常我们在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');
        }
        
    });
  • 相关阅读:
    LInux下几种定时器的比较和使用
    R中字符串操作
    GIS基本概念
    特征选择实践
    xcrun: error: invalid active developer path (/Applications/Xcode.app/Contents/Developer)解决办法
    mac os idea的快捷键
    python代码打包发布
    机器学习之聚类
    机器学习之决策树
    机器学习之逻辑回归
  • 原文地址:https://www.cnblogs.com/pingfan1990/p/4617443.html
Copyright © 2011-2022 走看看