用户登录

Guard,可以翻译成守卫,守卫的作用就是决定要不要让请求通过, 就是让请求接触到路由处理器。守卫会在中间件之后,在拦截器还有管道之前被执行。

先在终端用命令给应用生成一个守卫,看看里面都有什么东西, nest generate 生成一个 guard,名字是 demoAuth,放在 core/guards 里面。

→ nest generate guard demoAuth core/guards

回到项目,找到刚才创建的 Guard。

守卫是一个类,这个类得用 @Injectable 装饰一下, 它还得实施 CanActivate 接口,这样就需要在类里面添加一个 canActivate 方法。

方法里面有个 context 参数,它是 ExecutionContext, 这个方法如果返回 ture 就会让请求通过,返回 false 的话就不允许请求通过。

方法也可以通过 Promise 或者 Observable 异步返回 true 或者 false。

守卫(Guards)《 Nest.js 应用框架:核心部件(2) 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点