1.访问login模拟登录,生成session
http://localhost:3000/admin/login
2.访问其他接口,让守卫判断是否登录
http://localhost:3000/admin/news
```typescript
import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
import { Observa
守卫有一个单独的责任。它们根据运行时出现的某些条件(例如权限,角色,访问控制列表等)来确定给定的请求是否由路由处理程序处理。guard 使用 Reflector 反射读取 setMetaData的值 去做判断这边例子是从url 判断有没有admin权限。应用程序中,通常由中间件处理授权(以及认证)。中间件是身份验证的良好选择,因为诸如。tips 守卫在每个中间件之后执行,但在任何拦截器或管道之前执行。第一个参数为key,第二个参数自定义我们的例子是数组存放的权限。SetMetadata 装饰器。
从客户端发送一个post请求,路径为:/user/userAdd,请求参数为:{userinfo: ‘xx’,password: ‘xx’},到服务器接收请求内容,触发绑定的函数后执行相关逻辑完毕,然后返回内容的整个过程大体上要经过如下几个步骤:
明天要测试中间件、守卫、管道、异常过滤器、拦截器各个阶段的顺序问题以及错误抛出问题,总结挂载问题,对应的解决问题