PHP RBAC权限控制实现思路

1.什么是RBAC

基于角色的访问控制(Role-Based Access Control)

2.原理

管理员--组--权限

PHP RBAC权限控制实现思路

 

管理员表  

PHP RBAC权限控制实现思路

admin_role_id 与  role_id 关联

 

角色表

PHP RBAC权限控制实现思路填充数据格式为 : PHP RBAC权限控制实现思路

 

role_auth_ids 与 auth_id 关联

role_auth_ids是许可权限,权限表ID在role_auth_ids中 说明有访问此模块的权限

 

 

 权限表

PHP RBAC权限控制实现思路填充数据格式为 : PHP RBAC权限控制实现思路

4.管理员根据自己角色显示对应权限

PHP RBAC权限控制实现思路

PHP RBAC权限控制实现思路

5.管理员管理, 角色管理, 权限管理 

管理员管理包括分配角色

角色管理包括分配权限

权限管理包括增删改查

 PHP RBAC权限控制实现思路

6.FQ访问控制

(管理员的角色不具有某个权限,但是管理员通过输入指定url进而可以访问到不属于他的权限,要对FQ访问进行控制)

加一个CommonController, 所有的控制器均继承该公共控制器

PHP RBAC权限控制实现思路

CommonController

PHP RBAC权限控制实现思路

 

 CommonModel

PHP RBAC权限控制实现思路

7.总结

设计好管理员, 角色, 权限数据表 并写出相应的管理模块(增删改查)

首先管理员登录系统后, 根据角色ID查出相应权限, 显示对应的功能菜单

设计一个CommonController, 普通Controller extends CommonController, 在CommonController中对用户的操作进行权限判断