RBAC的表结构创建

发布时间 2023-10-23 11:07:16作者: 耿有才

简介:RBAC是指基于角色的访问控制(Role-Based Access Control),它是一种常见的访问控制模型,用于管理和控制用户对系统资源的访问权限。

RBAC通过将用户和角色进行关联来管理权限,而不是直接将权限分配给个体用户。具体而言,RBAC模型包括以下几个核心概念:

  1. 用户(User):系统中的实际用户。
  2. 角色(Role):角色定义了一组与用户职能或责任相关的权限集合。
  3. 权限(Permission):权限是指对系统资源的访问操作,如读取、写入等。
  4. 资源(Resource):资源是指需要受到访问控制的对象,例如文件、数据库记录等。

RBAC的基本原则是:

  • 用户被分配到适当的角色,而不是直接分配权限。
  • 角色包含了所需的权限,而不是直接分配权限。

通过这种方式,RBAC可以提供以下优点:

  1. 简化权限管理:通过将权限分配给角色,可以减少对每个用户进行权限管理的复杂性。
  2. 灵活性和可扩展性:添加或删除角色可以更灵活地管理用户权限,并且对于不同的用户群体可以共享相同的角色。
  3. 安全性:通过严格控制角色的权限,可以减少潜在的安全漏洞。

RBAC适用于需要进行复杂权限管理的系统,例如企业应用、网络系统、操作系统等。它可以帮助组织有效管理和控制用户对系统资源的访问权限,提高系统的安全性和管理效率。

 

知道RBAC概念后,大致表结构分为用户表  角色 和 权限表 ,其次用户表可以有多个角色,角色可有多个用户 是多对多关系

角色也可以有多个权限,每个权限可以有多个角色 也是多对多关系,每个多对多关系下都需要有一个关系表来进行连接方便今后的权限和角色的分配

表创建如下:

 

这是RBAC表的结构,看清楚后就可以看下一篇JWT的生成