简介
RBAC基于角色的权限访问控制(Role-Based Access Control)是商业系统中最常见的权限管理技术之一。RBAC是一种思想,任何编程语言都可以实现,其成熟简单的控制思想 越来越受广大开发人员喜欢。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。
日常生活中的权限
权限的作用
- 使用者的角度
权力:正确的行驶权力
限制:在限制范围内使用权力 - 设计者的角度
安全:控制不同的角色合理的访问不同的资源
对于我们做的web应用系统来讲,就是控制不同的用户访问不同的页面;
权限模型介绍
其中ABAC和PBAC在互联网场景中很少使用,ACL是直接关系,RBAC是间接关系;
RBAC模型的优势
- 简化了用户和权限的关系
就是因为多了一个角色属性,通过角色可以对用户进行分组,分组完了就可以很方便的管理用户; -
易扩展 易于维护
RBAC流程图
如上图所示,一个详细完整的RBAC权限管理需要建立5张表,当然3个或4个表也是可以完成;
RBAC功能模块
-
功能需求列表:
- 权限控制流程:
实战
主要实现以下5个模块:
- RBAC之角色管理
- RBAC之用户管理
- RBAC之权限管理
- RBAC模块之验证权限
- RBAC用户操作记录
技术选型
- Laravel:PHP MVC设计模式框架
- Mysql:数据库
- Bootstrap:前端开发框架
- jQuery:JavaScript框架
数据库设计
搭建laravel框架
其它课程讲解
BootstrapUI界面搭建
Bootstrapv3下载