守卫
守卫是一个使用 @Injectable()
装饰器的类。 守卫应该实现 CanActivate
接口。
守卫有一个单独的责任。它们根据运行时出现的某些条件(例如权限,角色,访问控制列表等)来确定给定的请求是否由路由处理程序处理。这通常称为授权。在传统的 Express
应用程序中,通常由中间件处理授权(以及认证)。中间件是身份验证的良好选择,因为诸如 token
验证或添加属性到 request
对象上与特定路由(及其元数据)没有强关联。
TIP
守卫在中间件之后执行,但在后置拦截器或管道之前执行。