[知了堂学习笔记]_EasyUi快速搭建一个权限管理的模块(1)--RBAC概述和数据库设计

来源:互联网 发布:东北林大网络教学平台 编辑:程序博客网 时间:2024/06/05 23:41

一 、前言


    这几篇连载的博客主要介绍了通过easyUI插件快速的搭建一个权限管理模块,主要针对开始学习权限管理读者。

    用到的技术点很简单,简单的easyUI插件的使用。

    权限:对资源的控制,对应到web应用就是对URL的控制。目前的所使用的所有系统,基本上都会使用到权限管理模块,只不过不同系统的权限管理的模块复杂程度不相同而已。现在我们在用的权限模型基本上都是以RBAC为基础进行扩展,所以针对权限我做了一个简单的通过EasyUI插件快速搭建的模块,帮助读者快速的理解权限管理模块的原理。理解之后, 在继续学习使用Shiro的时候,就更容易理解。

二、RBAC权限管理概述


    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

RBAC权限模型


针对上面的这张图,在做一个简单的阐述:通过这个图我们可以理解RBAC模型的原理。

在权限管理中,有一个很重要的中间对应关系,那就是角色,不同的系统中,不同的角色。例如:超级管理员,教师,学生等。然后每个角色可以通过数据库中的一个角色权限关联表,将角色和权限关联起来。

这样就可以达到一个效果,不同的角色对应不同的权限。这一点必须理解到。

有了角色和权限的对应关系之后,我们在通过一个用户角色关联表,将用户和角色关联起来。

通过这样的方式,就可以达到 用户–>对应角色 –>在对应到权限。那么每个用户就可以根据它的角色,然后可以知道每个用户具有那些权限。

三、权限管理模块的数据库设计

有了前面的理论之后,对应这RBAC权限模型,我们对应的数据库中应该有五张表。我们具体直接看图:


1、权限表。(t_auth)
权限管理数据库设计


2、角色表(t_role)
权限管理数据库设计


3、用户表(t_user)
权限管理数据库设计


4、角色与权限的关联表(t_authrole)
权限管理数据库设计


5、用户与角色关联表(t_authrole)

权限管理数据库设计


通过这样的数据库设计,就可以达到简单的一个用户通过用户与角色关联表对应到角色,然后角色通过角色与权限关联表对应到权限,就可以实现每个用户对应不同的权限。

阅读全文
1 0