rbac权限管理

前言:之前在做某个报名系统时,当时有三种角色,分为为用户,管理员,超级管理员,一个用户可能有多个身份,比如某个用户既可能时管理员,也可能是超级管理员,而一个角色可以有多个权限。当时按照自己的经验实现了这个系统,后来了解到了一个更好的解决方案,就是rbac权限管理。

权限控制模型

  • rbac-基于角色的访问控制(Role-Based Access Control)
  • 权限和角色关联
  • 用户和角色关联

好处:

  • 方便用户分组

  • 方便权限分配和回收

  • 扩展方便,可以满足大部分业务需求

对比ACL权限管理,rbac的好处在于简化了用户与权限的管理,通过对用户进行分类,使得角色与权限关联起来,而用户与权限变成了间接关联,从而解耦。

示例:

每个用户都可以对应多个角色,而每个角色都可以对应多个用户,所以是多对多的关系,每个角色拥有多个权限,每个权限也可分配给多个角色,所以也是多对多的关系

一般需要五张表,用户表,角色表,权限表,用户角色表和角色权限表

  • 上面的是简单的设计,还有许多可以拓展的设计的实现,得看具体业务而定
posted @ 2019-05-22 23:38  leexboo  阅读(872)  评论(0编辑  收藏  举报