无法访问req.user的属性

时间:2016-02-23 19:48:40

标签: node.js express mongoose passport.js

我使用passport.js在Node中进行身份验证。

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

返回

console.log(req.user.cu_id);

但是

undefined

返回

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

我原以为cu_id属性可能由于序列化/反序列化而无法使用,但它就在那里。我无法访问它。 我怎样才能做到这一点?

我需要它
sum
顺便说一句,我无法帮助认为passport.js有点过于复杂(也许我们只是不相处)。还有什么我可以用来验证Node中的用户(我使用快递)?

2 个答案:

答案 0 :(得分:1)

如果cu_id是Mongoose文档,您应该将req.user.toObject().cu_id添加到正确的架构中。

否则,您可以使用doc.toObject()之类的内容来访问该媒体资源,或确保req.user的某些结果已分配给POST

对于Passport替换:这取决于您要对用户进行身份验证的确切程度。如果您将登录表单li发送到Express路线,则可以自行执行密码验证和会话设置。

答案 1 :(得分:0)

尝试在JSON中解析它。

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