我有一个简单的登录表单,可以在登录成功后设置会话
router.use(sessions({
secret: 'supersecret',
resave: false,
saveUninitialized: false,
cookie: {
sameSite: true,
secure: true,
expires: false
}
}));
在此之前,我设置了中间件:
session.user
设置/dashboard
后,路由器将重定向到console.log(req.session.user)
,但是当我尝试访问undefined
时,它将返回req.session
,尽管router.get('/dashboard', (req, res) => {
console.log(req.session.user);
if (req.session.user) {
Product.find({}, (e, products) => {
if (e) console.error(e);
res.render('dashboard', {
products: products
});
});
} else {
res.redirect('/');
}
});
不会。 t。
/
有人在这里看到我在做什么错吗?可能还值得注意的是,它确实在tabBox(
title = mytitle, id = myid, width = "8",
tabPanel(myTitle[1], icon = icon("adjust"), plotOutput(myPlot[1])),
tabPanel(myTitle[2], icon = icon("adjust"), plotOutput(myPlot[2])),
tabPanel(myTitle[3], icon = icon("adjust"), plotOutput(myPlot[3])),
tabPanel(myTitle[4], icon = icon("adjust"), plotOutput(myPlot[4]))
)
内部返回了正确的值。
答案 0 :(得分:0)
结果证明它无效,因为我将cookie.secure
设置为true
。但这仅适用于https站点,尽管我正在本地主机上对其进行测试。因此,解决方案就像设置secure: false
一样简单。
答案 1 :(得分:0)
router.use(sessions({
secret: 'supersecret',
resave: false,
saveUninitialized: false,
cookie: {
sameSite: true,
secure: false,
expires: false
}
}));