我使用的代码从Cookie获取当前用户ID,但登录的用户确实有另一个用户ID。我为用户使用了护照验证。我希望user_id
成为当前的护照用户user_id
。
当前代码使用cookie用户ID:
routes.jes
app.get('/portal', isLoggedIn, function (req, res) {
var user_id = req.cookies ?
req.cookies.user_id : undefined;
Box.
find({
user_id: user_id
}).
sort('-updated_at').
exec(function (err, boxes) {
if (err) return next(err);
res.render('portal', {
user: req.user,
boxes: boxes
});
});
});
我尝试过改变
var user_id = req.cookies ?
req.cookies.user_id : undefined;
例如var user_id = req.user.user_id;
,以及其他一些语法,但不起作用。我做错了什么?
答案 0 :(得分:2)
你在使用会话吗? ..如果是,请尝试req.session.user._id
app.use(session({
secret: 'MySuperSecret',
saveUninitialized: true,
resave: false,
duration: 30 * 60 * 1000,
activeDuration: 5 * 60 * 1000
}));
当您使用req.session中的用户商店用户obj登录时,您可以随时随地访问它。
req.session.user = user;
更新:
使用护照时有效的其他解决方案:
将var user_id = req.user.id;
更改为var user_id = req.user.user_id;