无法访问 属性 个 req.user

Cant access property of req.user

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

console.log(req.user);

returns

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

但是

console.log(req.user.cu_id);

returns

undefined

我在想 cu_id 属性 可能由于 serialization/deserialization 而无法使用,但它就在那里。我就是无法访问它。 我怎样才能做到这一点? 我需要它

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

顺便说一句,我忍不住想 passport.js 有点太复杂了(也许我们只是合不来)。我还可以使用什么来验证 Node 中的用户(我使用 express)?

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

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

至于更换护照:这取决于您希望如何准确地验证您的用户。如果您POST正在使用 Express 路由的登录表单,您可以自己执行密码验证和会话设置。

尝试在 JSON 中解析它。

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