实现RBAC的原理:
数据表
1.user(uid,name)
2.role(role_id,role_name)
3.module(module_id,moudule_name,mvc_url)
4.access(access_id,role_id,moudule_id)
5.user_role(id,uid,role_id)
实现原理
- 根据$uid 得到 $role_id。
- 根据当前MVC参数 CLASS METHOD 拼接成路由网址 $mvc_url
- 根据 $mvc_url 去表 tb_module中查询,得到 $module_id
- 根据 $role_id,$moudule_id 查询表 tb_access中是否有此条记录
- 如果 有,可以访问;如果没有,禁止访问返回403