无法访问req.user的属性

我在使用passport.js进行身份validation的Node中编写代码。

console.log(req.user); 

回报

 { group: 'CuManager', password: 'password', username: 'administrator', cu_id: 2, _id: 569fd3f4328ef124be533caf } 

 console.log(req.user.cu_id); 

回报

 undefined 

我在想,cu_id属性可能是不可用的,由于序列化/反序列化,但它在那里。 我只是无法访问它。 我怎样才能做到这一点? 我需要它

 find({cu_id : req.user.cu_id}) 

顺便说一句,我不禁想着passport.js是一点点过于复杂(也许我们只是不相处)。 还有什么我可以用来validation用户在节点(我使用快递)?

如果req.user是一个Mongoose文档,则应该将cu_id添加到适当的模式中。

否则,你可以使用类似req.user.toObject().cu_id来访问属性,或者确保doc.toObject()的结果以某种方式被分配给req.user

至于护照更换:这取决于你想如何authentication你的用户。 如果您将POSTlogin表单发送到Express路由,则可以自行执行密码validation和会话设置。

尝试parsing它在JSON中。

 JSON.parse(req.user)['cu_id']