不能在另一个控制器中使用req.user

时间:2015-04-20 10:31:35

标签: node.js express passport.js sequelize.js

我正在使用带有续集的角度 - fullstack-生成器。

我遇到问题,我需要在另一个控制器(使用其他型号)中使用已记录的用户对象(req.user),而不是在用户控制器中。

但是另一个控制器中的req.user未定义。任何想法?

由于


我有用户和按钮(我使用sequelize而不是mongoose),我在用户和按钮之间有关联,所以当我创建一个按钮时,我必须在一个按钮中添加用户对象(已记录) (到关联表)。你知道当我保存一个新按钮时,在.save()之后我不能把用户对象用在.complete()中吗?

exports.create = function(req, res, next) {
var newButton = Button.build(req.body);
newButton.provider = 'local';

newButton
.save()
.complete(function(err, newButton, user) {
if (err) return handleError(res, err);
newButton.addUser(req.user);
...

req.user未定义或null:S

由于

1 个答案:

答案 0 :(得分:0)

您必须使用此功能将用户添加到req。

 req.logIn(user, function(err) 
    {
    }
    );

参考此示例: https://github.com/madhums/node-express-mongoose-demo