CASL和Typescript基本RBAC设置

问题描述

我一直在为一个新项目测试CASL,并且在获得一些帮助后,在CodeSandBox上配置了基本的打字稿RBAC:

https://codesandbox.io/s/wonderful-meadow-02kls?file=/src/index.ts

我已经从菜谱上取了一些东西:

https://casl.js.org/v4/en/cookbook/roles-with-static-permissions

我遇到了许多错误,对Typescript的了解还不足以了解事情在何处发生。

任何帮助将不胜感激。

解决方法

在codeandbox中,typeof运算符的解释存在一些问题。如果您将其更改为常规类型:

type AppAbilities = [
  'update','User' | 'all'
]

一切正常。更新示例:https://codesandbox.io/s/eloquent-jang-0jl6s?file=/src/index.ts