rabc的权限控制流程梳理php

整理开发过程中的权限模型设计

常见的权限模型有如下这些;

1,ACL 访问控制列表 ,

2,RBAC 基于角色的权限控制

3,ABAC 基于属性的权限控制 ,

4,PBAC 基于策略的权限控制

rabc的权限控制流程梳理php

以下就是对其中的RBAC的权限控制模型实现描述:

RBAC的实质就是控制不同的角色的访问不同的资源,如果需要删除,编辑一组相同用户的权限,只需要删除该角色下面权限,即可删除一组用户的权限,不需要单独删除某一个用户下面的权限,及通过用户与角色的关系来删除用户的权限,方便管理与控制。

实现权限控制模型主要就是实现以下三大模块

rabc的权限控制流程梳理php

权限的流程图

rabc的权限控制流程梳理php

 

聊完权限控制模型的主要流程和需要实现的三大功能模块,  就要开始聊到权限控制的数据库模型了的,以下就是权限控制的数据库模型“

rabc的权限控制流程梳理php

 

实现权限控制的功能 需要涉及到5张表:

1,用户表(用户的id,名称等基本信息) 2,用户角色表 (用户的id,所属角色id等等,用户具体的属于哪些角色)3,角色表(角色的id,角色的名称) 4,权限表(权限的id,权限的名称,所有的权限列表) 5,用户的权限控制表(角色的id,权限对应的id,主要存储的就是那些角色有哪些权限)

具体的数据库逻辑关系图如下:

rabc的权限控制流程梳理php

完成以上的逻辑之后,就需要着手完成用户的权限验证,为了数据的更加安全还可以做一个用户操作的历史记录,以下就是完成rbac权限模型的五大核心功能。

rabc的权限控制流程梳理php

以下就是权限验证功能的常用代码总结: