用户登录

自由学三年,把想法变成现实。33 折优惠(最后 6 天), 现在订阅 →

再去创建一个守卫,在终端,执行 nest generate 生成一个 guard,名字是 demoRoles,放在 core/guards 的下面。

下面再把创建这个 Guard 绑定在 App 模块里面。

打开 app.module, 在它的 @Module 装饰器的 providers 属性里面,给它一个对象, 先用 provide 设置一下, 值是 APP_GUARD,下面再用 useClass, 值可以设置成 DemoRolesGuard,这样这个守卫就会用在 App 模块上。

这个模块下面包含了应用里的其它模块,所以这个守卫也就会用在所有的模块上。

打开这个守卫,先手动让它的 canActivate 方法返回 false, 然后打开 posts.controller,去掉之前用在这个控制器上的 demoAuth 守卫。

在客户端,配置一个请求, 用 POST 方法请求 posts 地址,得到的响应是 403,因为用在 App 模块上的 demoRoles 守卫会一直返回 false,不让请求通过。

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

统计

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

社会化网络

关于

微信订阅号

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