Как я могу сохранить свой req.user постоянным во всех представлениях? - PullRequest
0 голосов
/ 03 мая 2018

Я использую 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 и обнаруживаю, что атрибут имени пользователя остается постоянным, но не идентификатором.

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

Приведенный выше код выдает: Шон 5aea9a9d66c1a878787594f1 когда я запрашиваю http://localhost:3000/pics/5aeaafe552984a856080644b

И это производит: Шон 5aeaafe552984a856080644b когда я запрашиваю http://localhost:3000/pics/5aeaafe552984a856080644b

Как я могу сохранить атрибут ._id константы CurrentUser как имя?

...