在nodeJS中,我使用護照模塊進行身份驗證。我想顯示當前登錄用戶的用戶名。Nodejs護照顯示用戶名
我嘗試下面的代碼:
passport.displayName
和
Localstrategy.username
而對於更多的信息,請另見: http://passportjs.org/docs/profile
但是,這是行不通的。有什麼建議麼?
由於
在nodeJS中,我使用護照模塊進行身份驗證。我想顯示當前登錄用戶的用戶名。Nodejs護照顯示用戶名
我嘗試下面的代碼:
passport.displayName
和
Localstrategy.username
而對於更多的信息,請另見: http://passportjs.org/docs/profile
但是,這是行不通的。有什麼建議麼?
由於
(如由驗證回調提供)的用戶,設定爲在上的req.user
請求的性質。
用戶的任何屬性都可以通過該對象訪問,在您的案例中爲req.user.username
和req.user.displayName
。
如果您使用快遞,並要揭露的用戶名作爲模板中的變量,可以渲染時做到:
app.get('/hello', function(req, res) {
res.render('index.jade', { username: req.user.username });
});
我創建了一個簡單的視圖助手來訪問驗證狀態和用戶信息
var helpers = {};
helpers.auth = function(req, res) {
var map = {};
map.isAuthenticated = req.isAuthenticated();
map.user = req.user;
return map;
}
app.dynamicHelpers(helpers);
這樣做,你就可以接取的對象auth
對你的看法,例如auth.user.xxxx
後。
你怎麼稱呼這個幫手?你從哪裏打電話?謝謝 – 2013-03-23 23:57:12
我使用下面的代碼爲登錄: app.post( '/登錄', passport.authenticate( '本地',{successRedirect: '/', failureRedirect: '/登錄'}) ); 我無法訪問'/'頁面上的req.user.username。我如何在該頁面上訪問它? – 2012-02-09 21:46:02
在該頁面上是否有'req.user'屬性可用?如果沒有,這聽起來像會議支持未啓用。一定要'app.use(passport.session())'中間件,以及配置Express會話中間件。請參閱此頁面的「中間件」部分:http://passportjs.org/guide/configuration.html – 2012-02-09 21:49:27
它的工作,謝謝! – 2012-02-09 22:03:54