途牛原创|大话权限中心的PHP架构之道
序 权限管理是无线运营系统中的核心模块,通过访问控制策略的配置,来约定人与资源的访问关系。 本文着重讲解如何通过PHP来构建一个灵活、通用、安全的权限管理系统。 关于权限 首先我们来聊聊权限。 权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统的权限进行设计,以满足不同系统用户的需求,将会浪费我们不少宝贵时间,所以花时间来设计一个相对通用的权限系统是很有意义的。 系统目标 :对应用系统的所有对象资源和数据资源进行权限控制,比如 应用系统的功能菜单、各个界面的按钮、数据显示的列以及各种行级数据 进行权限的操控。 权限模型 设计初期,我们学习了Amazon的 IAM ,经过对比分析,最终我们选用 RBAC3模型 来指导系统的设计工作。 RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模型中,who、what、how构成了访问权限三元组,也就是“Who对What(Which)进行How的操作”。 Who:权限的拥用者或主体(如Principal、User、Group、Role、Actor等等) What:权限针对的对象或资源(Resource、Class)。 How:具体的权限(Privilege,正向授权与负向授权)。 Operator:操作。表明对What的How操作。也就是Privilege+Resource Role:角色