Nestjs 框架教程(第九篇:守卫)

臨池不輟 at 
守卫(Guards)是一个使用 @Injectable() 装饰的类,它必须实现 CanActivate 接口。守卫只有一个职责,就是决定请求是否需要被控制器处理。一般用在权限、角色的场景中。守卫和中间件的区别在于:中间件很简单,next 方法调用后中间的任务就完成了。但是守卫需要关心上下游,它需要鉴别请求与控制器之间的关系。守卫会在中间件逻辑之==后==、拦截器/管道之==前==执行。¶授权守卫 import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';import { Observable } fr……