【发布时间】:2013-12-21 08:42:25
【问题描述】:
我在运行npm install 后遇到了一个奇怪的问题。
req.user 在 `requireManager()(或任何控制器)中访问时的实例是 Array 类型,而不是从 passport.deserializeUser 返回的对象。
passport.deserializeUser(function(id, done) {
compound.models.User.findById(id, function(err, user) {
done(err, user);
});
});
控制器打印中的console.log(req.user.constructor)
function Array() { [native code] }
和
console.log(user.constructor) in `passport.deserializeUser` prints:
function model(doc, fields, skipId) {
if (!(this instanceof model))
return new model(doc, fields, skipId);
Model.call(this, doc, fields, skipId);
}
请帮我解决这个问题。
问候, 萨钦
【问题讨论】:
-
你能发布你的 (de)serializeUser 实现吗?
-
编辑帖子并包含反序列化用户
-
我对 CompoundJS 不太熟悉,但它会覆盖
req.user本身吗?您的deserializeUser看起来不错。
标签: node.js express passport.js compoundjs