使用Node js + Express 4 + Passport

时间:2016-03-18 04:40:17

标签: javascript node.js express passport.js

我有一个Node Js + Express 4 + express-handlebars应用程序。我正在使用Passport进行本地身份验证。我想在页面顶部显示登录的用户名。现在我必须在每个页面渲染上定义它。

res.render('somePage', {
    title : 'My page',
    userName : req.user.Name,
});

我做了一些研究,发现了一个类似的StackOverflow问题(两年前的问题,他使用的是Express3),其中建议的解决方案是使用app.locals设置res.locals用户名变量。

app.use(function (req, res, next) {
    res.locals = {
        user: req.user
    };
    next();
});

{{user.Name}}

我试过了,但它对我不起作用。

如何在登录后设置一次用户名,这样我就不必在每个页面渲染中都包含它?

1 个答案:

答案 0 :(得分:1)

尝试在本地人之后添加.user

res.locals.user = {user: req.user};

希望这会有所帮助:)