ACL和RBAC对比
之前的ACL权限控制是直接给用户分配权限的。
而RBAC是这样的:
RBAC是先分开角色,然后把角色分给指定的用户
通过在用户和权限之间多加一层“角色”来做权限管理
给角色分配权限,然后给用户分配角色
这样有什么好处呢?
比如说:
管理员有 a、b、c 3个权限,而张三李四王五都是管理员。
有一天想给管理员添加一个d权限
如果是ACL,则需要给张三、李四、王五分别分配这权限
而RBAC则只需要给张三、李四、王五分配管理员的角色,然后值更改管理员角色对应的权限就好了。
所以说,当用户很多的时候,给不同的用户分配不同的权限会很麻烦,这时候,使用RBAC来控制权限则更加方便。
nest.js实现RBAC权限控制
创建rbac_test
的数据库:
CREATE DATABASE rbac_test DEFAULT CHARACTER SET utf8mb4;
创建nest项目
nest new rbac-test -p npm
安装typeorm的依赖
npm install --save @nestjs/typeorm typeorm mysql2
标签:Control,Based,角色,用户,RBAC,管理员,权限,分配
From: https://www.cnblogs.com/sunyan97/p/17878916.html