如何在所有视图中保持req.user不变?

时间:2018-05-03 08:11:20

标签: javascript express passport.js

我正在使用PassportJS和Express:

app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
app.use(function(req, res, next){
  res.locals.CurrentUser = req.user;
    next();
});

app.get('/pics/:id', middleware.isLoggedIn, function(req, res) {
    User.find({"_id": req.params.id}, function(err, userProfile) { 
        if(err) {
            console.log("error on profile page: " + err)
        } else {
            res.render("user-profile", {userProfile: userProfile});
        }
    })
})

这是我缩短的服务器代码。现在在客户端我正在尝试使用我的res.locals代码,我发现username属性保持不变但不是ID。

<%=CurrentUser.username%>
<%=CurrentUser._id%>

以上代码产生: 肖恩5aea9a9d66c1a878787594f1 当我查询http://localhost:3000/pics/5aeaafe552984a856080644b

它产生: 肖恩5aeaafe552984a856080644b 当我查询http://localhost:3000/pics/5aeaafe552984a856080644b

如何保持CurrentUser的._id属性不变,如名称?

0 个答案:

没有答案