我已经使用过 nodeJS 和 express。现在我遇到了 NestJS,发现它很有趣。
NestJS 文档中有几个对授权的引用。
- RBAC(基于角色的访问控制)
- CASL(基于声明的授权)
但我不确定众多变体中的哪一个满足我的要求。
目的是创建一个 REST API,其中一方面服务器端权限(调用路由或更改数据记录的权限)和客户端权限(哪些小部件显示在前端,用户可以看到什么)涵盖.
我自己在 NodeJS 和 express 中编写了所有内容,但在 NestJS 中,解决问题肯定比重新发明轮子更容易。
问题出现在我涵盖了所有内容的包中。
服务器端权限示例
PUT api-domain / api / v1 / users /: id
应该保证用户有调用路由的权限,当然也应该保证,比如普通用户只能编辑自己的用户,而管理员又可以编辑一切。
客户端权限示例
来自 JWT 令牌的有效负载
userID: 15af1as85f1as81f8as1f
client-permissions: [“DASHBOARD”, “USER_MENUE_WIDGET”, “NAVIGATION_TOP_WIDGET”]
JWT 令牌的有效负载包含一个数组,其中包含向用户提供的所需客户端权限。
我希望这是可以理解的,我愿意接受任何建议:)
非常感谢,亚历山德罗