node express session怎么用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node express session怎么用相关的知识,希望对你有一定的参考价值。
参考技术A 1:存储到内存中var session = require('express-session');
app.use(session(
secret: configs.sysconfig.sessionsecret,
key: configs.sysconfig.sessionsid,
cookie:
secret: true,
expires: false
,
resave: true,
saveUninitialized: true
));
2:存储到redis
app.use(session(
store: new RedisStore(
host: "127.0.0.1",
port: 6379,
db: "test_session"
),
resave:false,
saveUninitialized:false,
secret: 'keyboard cat'
))
3:存储到mongodb
app.use(session(
secret: config.session_opts.sessionsecret,
store: new MongoStore(
url: config.session_opts.db
),
resave: true,
saveUninitialized: true
));
node的cookie-parser和express-session
let express = require(‘express‘); let cookieParser = require(‘cookie-parser‘); let expressSession = require(‘express-session‘); let ejs = require(‘ejs‘); let app = express(); app.use(cookieParser());//使用时需要调用cookieParser(); //s%3AOiJBUiPT2BOjlZuZl1T7iqiFuLOEG8uP.uNNq5Z%2Fl7F9ALI5zsKb2Zm3KXgoABxoriHv873hZ%2BZ0 app.use(expressSession({ secret: [‘aaaa‘,‘c‘],//加密字符串,随机抽取 rolling: true, // 永远在线隔一段时间去刷新session resave: true, // // name: ‘wpwpwp‘, //更改名称 最外面的 对象中 cookie:{ httpOnly: false, //这个代表 只能在服务器中获取 验证 maxAge: 1000*5,//时效 // path: ‘/aa‘ } })); // app.use(function (req, res, next) { // if(req.session.name){ // req.session.name = 1; // } // }); app.get(‘/‘,function (req, res) { // //获取session // console.log(req.session); // //设置session // req.session.name = 1; // res.send(‘end‘) console.log(req.session); req.session.num = 1; ejs.renderFile(__dirname+‘/template/index.html‘,{},function (err,data) { res.send(data) }) }); app.listen(3000,function () { console.log(‘start‘) });
利用cookie-session 去判断用户是否登录。使用签名去判断。
let express = require(‘express‘); let cookieParser = require(‘cookie-parser‘); let expressSession = require(‘express-session‘); let fileStore = require(‘session-file-store‘)(expressSession); let app = express(); app.use(cookieParser()); app.use(expressSession({ store: new fileStore(), secret: [‘aaaa‘,‘c‘], cookie:{ maxAge: 1000*60, } })); app.get(‘/‘,function (req, res) { console.log(req.session); //逻辑判断 //设置session 帮你写到 服务器的内存中 //又帮你写了一个 cookie携带这session信息 req.session.num = 1; res.send(‘end‘) }); app.listen(3000,function () { console.log(‘start‘) });
以上是关于node express session怎么用的主要内容,如果未能解决你的问题,请参考以下文章
Node.js、Angular、express-session:由于 cookie 策略(sameSite cookie),Chrome 80 不保存会话