我正在使用快速会话来处理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: '/',
}
}));
尝试初始化会话:
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并保护安全。