我正在使用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属性不变,如名称?