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中express-session配置项详解

Node.js、Angular、express-session:由于 cookie 策略(sameSite cookie),Chrome 80 不保存会话

node.js中express-session配置项详解

用express表示node.js中的本地化

Node.js express-session 代理选项有啥作用?

Node.js_express_临时会话对象 npm install express-session