我的问题:如何在骨干网布局中打印经过身份验证的用户的用户名?
我正在使用一个堆栈:NodeJs,Express,MongoDB和BackboneJs(以MarionetteJs为框架)。
我可以创建并使用护照和蒸汽策略登录用户,该策略将用户存储在req.user
。
这是我的快速服务器文件的摘录,显示了我如何将经过身份验证的用户放在中间件中:
// use passport session
app.use(passport.initialize());
app.use(passport.session());
app.use(function(req, res, next) {
res.locals.user = req.user;
next();
});
但我不知道如何使用骨干访问前面的var。在我看来,这并不是很清楚。不要犹豫,在评论中提出更多所需的代码。
答案 0 :(得分:0)
如果您希望用户使用Backbone模型,并且您希望获取适合Backbone范例,则可以创建一条将用户信息发送到前端的路由。
服务器强>
app.get('/user/:id', function(req, res, next) {
if(req.params.id === 'me') {
res.json(req.user);
} else {
res.status(500).send({ error: 'Invalid user id' });
}
});
前端
var UserModel = Backbone.Model.extend({
urlRoot: '/user'
});
var user = new UserModel({ id: 'me' });
user.fetch();
然后,您可以创建一个常规的ItemView,并在您认为合适的位置呈现用户信息。