node.js - Nest JS 角色和基于权限的访问控制
问题描述
我已经使用过 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 令牌的有效负载包含一个数组,其中包含向用户提供的所需客户端权限。
我希望这是可以理解的,我愿意接受任何建议:)
非常感谢,亚历山德罗
解决方案
推荐阅读
- javascript - 使用 getElementById 时添加类
- r - R Shiny - 为 DataTables 选择扩展 - 获取选定的行并预选行
- bash - 从 Linux 脚本标准输入读取导出命令
- r - 使用哪个函数在条件下转置部分列
- php - 如何使用 PHP 正确计算 Oracle 中的行数?
- c# - 在节点中找不到密钥
- python - 如何使用python从sofascore中抓取足球结果
- angular - 如何创建订阅 BehaviorSubject 和差异类型的返回值
- php - PHP 7.3 Laravel 数据库自动数字舍入错误
- javascript - 在javascript中的html模板字符串中将所有没有http url替换为http://?