权限管理.ppt

上传人:sccc 文档编号:5057366 上传时间:2023-06-01 格式:PPT 页数:12 大小:832.01KB
返回 下载 相关 举报
权限管理.ppt_第1页
第1页 / 共12页
权限管理.ppt_第2页
第2页 / 共12页
权限管理.ppt_第3页
第3页 / 共12页
权限管理.ppt_第4页
第4页 / 共12页
权限管理.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《权限管理.ppt》由会员分享,可在线阅读,更多相关《权限管理.ppt(12页珍藏版)》请在三一办公上搜索。

1、权限管理RBAC访问权限管理,讲师:马明,概述,RBAC 是指基于角色的访问控制,本掌主要描述了ThinkPHP 的 RBAC 设计思想和使用实例,给出了一个统一和方便的权限控制解决方案。,认证过程,1.判断当前模块的当前操作是否需要认证2.如果需要认证并且尚未登录,跳到认证网关,如果已经登录 执行53.通过委托认证进行用户身份认证4.获取用户的决策访问列表5.判断当前用户是否具有访问权限,认证原理,RBAC:saveAccessList()/获取并保存用户访问权限列表这个时候其实是获取当前登录用户对应的权限列表信息,系统会把用户的权限列表保存在SESSION里面,格式类似于$_SESSION

2、AppNameModuleNameActionName如果存在这样一个数据,就表示用户具有 AppName 的 ModuleName 模块的 ActionName 操作的访问权限,否则就表示没有权限。如果有些模块并没有定义操作,那么就会读取 Public 模块的操作权限。在应用系统的开发过程中,只需要设置相关的配置项和添加上面的认证方法,其他的认证和决策访问就由 RBAC 组件的 AccessDecision 方法自动完成了。你其实并不需要关心系统是如何判断用户是否具有权限的,这个在传统的权限控制模式里面是需要手动来一一判断的。,配置文件,true,USER_AUTH_TYPE=1,/默认认证

3、类型 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=,/

4、默认需要认证操作/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,);return array_merge($config,$array);?,数据库分析,表名称可以自定义,在配置文件可以自由配置think_user表根据实际需求1.管理员

5、表和用户表是同一张表,则可以直接应用已建过的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节点分级项目

6、对应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用户组IDthink_role表中的id字段user_id用户IDthink_user表中的id字段模拟数据:(1,1)给ID为1的用户赋予站长组的权限(2,2)给ID为2的用户赋予管理员组的权限,华章培训网版权所有,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号