2016-03-18 91 views
0

我有一個Node Js + Express 4 + express-handlebars應用程序。我正在使用Passport進行本地身份驗證。我想在頁面頂部顯示登錄的用戶名。現在我必須在每個頁面渲染上定義它。使用Node js + Express 4 +護照顯示登錄用戶名

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

我做了一些研究,發現了類似的StackOverflow問題(兩歲的問題,他用Express3),其中建議的解決方案是使用app.locals設置res.locals username變量。

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

{{user.Name}} 

我試過,但它沒有爲我工作。

如何在登錄後設置用戶名一次,所以我不必將其包含在每個頁面呈現?當地人後

回答

1

嘗試加入。用戶

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

希望這有助於:)

+0

並在視圖文件使用{{user.user}} – mllduran

+0

試過,但它仍然沒有工作:( – codeinprogress

+0

嗯,我認爲它更好,如果你使用會話,而不是本地人 – mllduran

相關問題