RBAC(Role-Based Access Contro) 是基于角色的权限访问控制,系统根据登录用户的角色不同,从而给予不同的系统访问权限,角色的权限随角色创立时进行分配。
首先,权限控制很多系统中都需要,但是不同的系统对于权限的敏感程度不同,因而权限的设计实现方式不同,这里的介绍一个简单的RBAC权限管理的Demo。
假定这个系统分为:模块一,模块二,模块三。。。。这里先讲一下做系统的权限管理时需要做的准备工作。
一,需求分析
明确需求是快速实现系统的基础,没有明确的需求你就很可能在做无用功,浪费时间就是浪费生命。最然现在敏捷开发很流行,但是大的框架,方向一定不能错,否则迭代的成本是无法估计的。
假定该系统根据不同功能模块的操作需要不同的部门和角色来划分权限,那么大致划分一下部门:部门一、部门二;然后每个部门下有不同的角色:角色一、角色二。二不同的角色具有不同的权限组合(注意组合,每个权限是相对独立的个体,后面涉及到数据表的设计)。
以上便是最基础的一个系统需要的权限了。有的系统可能不需要部门那么就只涉及权限和角色。
二,数据库设计
这些表的设计仅供参考,一些属性可以忽略,基本属性可供参考。
角色表: