如何在Nest js中间件和Guard中编写逻辑

时间:2019-05-13 14:27:14

标签: node.js nestjs

我想创建一个多角色访问项目,在该项目中,我必须根据用户的角色允许用户,因此,我必须根据角色创建多个Middleware&Guard,但是没有文档说明如何在Nest中获取当前的登录用户详细信息中间件,以及如何从Nest Guard和中间件中的jsonWebToken获取当前登录用户的详细信息,

我有Users收集架构就是这样

UsersCollectionSchema: {
  name: '',
  email:'',
  password:'',
  roles: [ admin, editor]
}

1 个答案:

答案 0 :(得分:0)

一旦用户通过了身份验证,我建议您将用户对象附加到请求,这是常见的方式,以便可以通过请求访问中间件内部的用户,并通过请求访问保护内部的用户可以从executionContext获取

下面是一个示例https://github.com/nestjs/nest/blob/master/sample/01-cats-app/src/common/guards/roles.guard.ts