




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
权限管理RBAC访问权限管理,讲师:马明,概述,RBAC是指基于角色的访问控制,本掌主要描述了ThinkPHP的RBAC设计思想和使用实例,给出了一个统一和方便的权限控制解决方案。,认证过程,1.判断当前模块的当前操作是否需要认证2.如果需要认证并且尚未登录,跳到认证网关,如果已经登录执行53.通过委托认证进行用户身份认证4.获取用户的决策访问列表5.判断当前用户是否具有访问权限,认证原理,RBAC:saveAccessList()/获取并保存用户访问权限列表这个时候其实是获取当前登录用户对应的权限列表信息,系统会把用户的权限列表保存在SESSION里面,格式类似于$_SESSIONAppNameModuleNameActionName如果存在这样一个数据,就表示用户具有AppName的ModuleName模块的ActionName操作的访问权限,否则就表示没有权限。如果有些模块并没有定义操作,那么就会读取Public模块的操作权限。在应用系统的开发过程中,只需要设置相关的配置项和添加上面的认证方法,其他的认证和决策访问就由RBAC组件的AccessDecision方法自动完成了。你其实并不需要关心系统是如何判断用户是否具有权限的,这个在传统的权限控制模式里面是需要手动来一一判断的。,配置文件,true,USER_AUTH_TYPE=1,/默认认证类型1登录认证2实时认证USER_AUTH_KEY=authId,/用户认证SESSION标记ADMIN_AUTH_KEY=administrator,/管理员用户名USER_AUTH_MODEL=User,/默认验证数据表模型AUTH_PWD_ENCODER=md5,/用户认证密码加密方式USER_AUTH_GATEWAY=/Public/login,/默认认证网关NOT_AUTH_MODULE=Public,/默认无需认证模块REQUIRE_AUTH_MODULE=,/默认需要认证模块NOT_AUTH_ACTION=,/默认无需认证操作REQUIRE_AUTH_ACTION=,/默认需要认证操作/RBAC_ERROR_PAGE=true,/定义权限错误页面GUEST_AUTH_ON=false,/是否开启游客授权访问GUEST_AUTH_ID=0,/游客的用户IDRBAC_ROLE_TABLE=think_role,RBAC_USER_TABLE=think_role_user,RBAC_ACCESS_TABLE=think_access,RBAC_NODE_TABLE=think_node,);returnarray_merge($config,$array);?,数据库分析,表名称可以自定义,在配置文件可以自由配置think_user表根据实际需求1.管理员表和用户表是同一张表,则可以直接应用已建过的think_user表的用户2.管理员表和用户表分开存储,则另建think_admin表,表名也可以自定义以下四张表有一些特定字段是必须设置的think_node节点表think_role角色分组表think_access权限分配表think_role_user用户分组表用户表是完全自定义的,但是要有一列自增长编号列think_user用户表,权限E-R图,节点表,表名:think_node字段:id节点IDname项目名称、模块名称、操作名称title节点描述status节点状态remark详细描述sort节点排序pid父节点level节点分级项目对应1,模块对应2,操作对应3数据模拟:(1,Rbac,Rbac项目,1,项目名称,0,0,1)(2,User,用户模块,1,模块名称,0,1,2)(3,Goods,商品模块,1,模块名称,0,1,2)(4,add,添加操作,1,用户添加操作,0,2,3),角色分组表,表名:think_role字段:id角色分组IDname角色分组名称pid父分组status分组状态remark详细描述模拟数据:(1,站长,0,1,站长拥有最高权限)(2,管理员,0,1,管理员组),权限分配表,表名:think_access字段:role_id分配权限角色IDthink_role表中的id字段node_id分配权限(项目、模块、操作)IDthink_node表中的id字段level分配权限节点的等级pid分配权限节点的父节点模拟数据:(1,1,1,0)给站长赋予Rbac项目的操作权限(1,2,2,1)给站长赋予User模块的操作权限(1,4,3,2)给站长赋予User模块的添加操作权限,用户分组表,表名:think_role_user字段:role_id用户组IDt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州毕节金沙县城乡建设发展集团有限公司面向社会招聘经理层高级管理人员(财务总监)考察政审情况及拟聘用笔试历年参考题库附带答案详解
- 2025湖南邵阳市洞口县黄桥镇中心卫生院面向社会公开招聘编外合同制影像(医师)技师模拟试卷附答案详解(典型题)
- 2025福建福州市鼓楼区国有资产投资发展集团有限公司招聘16人笔试历年参考题库附带答案详解
- 2025福建省长汀金龙稀土有限公司岗位招聘169人笔试历年参考题库附带答案详解
- 2025福建省人力资源发展集团有限公司邵武分公司招聘笔试历年参考题库附带答案详解
- 2025福建泉州金控集团权属省五建公司招聘73人笔试历年参考题库附带答案详解
- 2025福建晋江市新丝路商贸有限责任公司招聘4人笔试历年参考题库附带答案详解
- 2025福建厦门环境保护机动车污染控制技术中心招聘27人笔试历年参考题库附带答案详解
- 2025福建亚通新材料科技股份有限公司招聘15人笔试历年参考题库附带答案详解
- 2025恒丰理财有限责任公司社会招聘10人笔试历年参考题库附带答案详解
- 房地产销售岗位简历模版大全
- 智能楼宇管理员试卷及答案
- 创新成果转化高效推进承诺书6篇范文
- 自卸车安全教育培训课件
- 冶金行业事故回放课件
- 5年(2021-2025)高考1年模拟地理真题分类汇编专题03 地球上的水(解析版)(浙江专用)
- 电气检修班组安全培训课件
- 2024版中国高血压防治指南(完整版)
- 不再举报协议书6篇
- 空管知识培训材料课件
- 患者身份识别管理标准WST840-2025学习解读课件
评论
0/150
提交评论