用户登录

之前我们演示 casl 定义权限的时候,用的是 defineAbility 这个函数,用这种方法定义权限比较简单,不过会有一些限制。 casl 还提供了一种定义权限的方法,就是使用 AbilityBuilder 这个类。

casl.ability.ts

打开 casl.ability.ts ,在这个文件里可以从 @casl/ability 里面,导入 AbilityBuilder,还有 Ability。

然后剪切一下之前用 defineAbility 定义的权限,再去掉其它的东西,默认导出的是一个函数,函数支持一个 user 参数,在这个函数里面,可以新建一个 AbilityBuilder 实例,把 Ability 交给它。然后可以解构一下这个实例,需要的是 can,cannot 还有 build。

再把之前剪切的权限粘贴到这里。然后可以让这个函数 return 执行 build() 得到的结果。

测试

在 http 客户端,再测试一下,发送一下这个请求,得到的结果是一样的。

使用 AbilityBuilder 类定义权限《 CASL:权限控制 》

统计

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

社会化网络

关于

微信订阅号

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