# RBAC **Repository Path**: rightfight/RBAC ## Basic Information - **Project Name**: RBAC - **Description**: No description available - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-12-25 - **Last Updated**: 2024-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ThinkPHP 5.0 =============== #说明 `项目以ThinkPHP 5.0框架 作为底层演示 RBAC权限管理的demo.` #使用说明 在项目的根目录,有对应的数据文件: `rabc.sql`. 建立rabc数据库,导入此文件数据即可 用户权限管理 RBAC (基于角色的权限管理) / ACL(访问控制列表) / MAC(强制访问控制) ----------------------------- RBAC 模型 用户 角色 权限(节点) RBAC 表设计 用户表 用户_角色表 角色表 角色_权限表 权限表(节点) RBAC 表关系 用户表 <-----> 角色表 : 多对多 角色表 <-----> 权限表 : 多对多 RBAC 表结构 详见 RBAC.xlsx RBAC 程序设计 首先要判断有无登录,每个方法不管有无权限都要在登录之后才能操作. 登录的时候,查询以上5张表. 得到当前用户 所有可操作的 节点信息(nodelist) 然后,以数组的形式,将节点信息存到 Session中. 最后,在操作每个方法之前,判断该方法 是否存在于Session的nodelist列表之中,存在则权限可操作,不存在则无权限.