Node.js express框架中使用session

学习笔记文档:https://pan.baidu.com/s/1HCAhOtjgljdVB2X5KXjj5g     密码:z9zl


sessionDemo.js:

/*
 1.安装  express-session
   cnpm install express-session  --save
 2.引入
   var session = require("express-session");
 3.设置中间件(参考npmjs官网)
   app.use(session({
     secret: '随机字符串',
     resave: false,
     saveUninitialized: true
   }));
 4.设置session
   req.session.username = "张三";
 5.获取session
   req.session.username
 6.销毁session
    req.session.cookie.maxAge=0;  //重新设置过期时间来销毁。cookie中保存有sessionID
    req.session.destroy(function(err){   //通过destroy()函数销毁session
        console.log(err);
    });
 **/

var express = require("express");
var app = express();
var session = require("express-session");
//配置中间件
app.use(session({
    secret: 'this is a string key',   // 随机字符串,作为服务器端生成 session 的签名
    name:'session_id', /*保存在本地cookie的一个sessionID 默认connect.sid  可以不设置*/
    resave: false,   /*强制保存 session 即使它并没有变化,。默认为 true。建议设置成 false。*/
    saveUninitialized: true,   //强制将未初始化(未使用session)的session存储。  默认值是true  建议设置成true
    cookie: {
        maxAge:1000*30*60    /*过期时间,cookie中保存有sessionID,cookie过期 相当于session过期*/
    },   /* secure:true   https这样的情况才可以访问cookie */
    rolling:true    //过期时间会变成滑动过期时间(默认:false)
}));

app.get("/",function(req,res){
    if(req.session.userinfo){   //获取session
        res.send('你好'+req.session.userinfo+'欢迎回来');
    }else{
        res.send('未登录');
    }
});

app.get("/login",function(req,res){
    req.session.userinfo='张三';    //设置session
    res.send('登录成功');
});

app.get("/logOut",function(req,res){
    //req.session.cookie.maxAge=0;  //重新设置过期时间来销毁。cookie中保存有sessionID
    req.session.destroy(function(err){   //通过destroy()函数销毁session
        console.log(err);
    });
    res.send('退出登录成功');
});

app.listen(3001);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值