在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