使用MySQL存储的快速会话不会保存用户

问题描述 投票:0回答:1

我正在使用快速会话来处理Node.js应用程序中的用户会话。问题是在重写它为MySQL存储后,似乎在更改路由后所有信息都消失了,我的中间件再次重定向我的登录页面。我的代码:

let options = {
    host: "localhost",
    user: "root",
    port: 3306,
    password: "",
    database: "cursova"
}
var sessionStore = new MySQLStore(options, con);

app.use(session({
    key: 'myCookie',
    secret: 'secret12345',
    store: sessionStore,
    resave: false,
    saveUninitialized: false,
    cookie: {
        originalMaxAge: 1000 * 60 * 5,
        maxAge: 60000 * 5,
        secure: true,
        path: '/',
    }
}));

控制台结果: console results

node.js express express-session
1个回答
0
投票

尝试初始化会话:

app.use((req, res, next) => {
    req.session.init = "init";
    next();
});

对于会话,我有这个:

const options = {
        host: config.db.host,
        port: config.db.port,
        user: config.db.user,
        password: config.db.password,
        database: config.db.database
    };

const sessionStore = new MySQLStore(options);

const expiryDate = new Date(Date.now() + 24 * 60 * 60 * 1000); // 1 hour
app.use(session({
    store: sessionStore,
    secret: process.env.SESSIONSECRET,
    resave: false,
    saveUninitialized: false,
    cookie: {
        //secure: true,
        //httpOnly: true,
        expires: expiryDate      
    }
}));

我没有通过连接,也没有密钥。一旦我知道它有效,我就加入HTTP并保护安全。

© www.soinside.com 2019 - 2024. All rights reserved.