权限管理课件_第1页
权限管理课件_第2页
权限管理课件_第3页
权限管理课件_第4页
权限管理课件_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

权限管理

RBAC访问权限管理讲师:马明概述RBAC是指基于角色的访问控制,本掌主要描述了ThinkPHP的RBAC设计思想和使用实例,给出了一个统一和方便的权限控制解决方案。

认证过程1.判断当前模块的当前操作是否需要认证2.如果需要认证并且尚未登录,跳到认证网关,如果已经登录执行53.通过委托认证进行用户身份认证4.获取用户的决策访问列表5.判断当前用户是否具有访问权限

认证原理RBAC::saveAccessList();//获取并保存用户访问权限列表这个时候其实是获取当前登录用户对应的权限列表信息,系统会把用户的权限列表保存在SESSION里面,格式类似于$_SESSION['AppName']['ModuleName']['ActionName']如果存在这样一个数据,就表示用户具有AppName的ModuleName模块的ActionName操作的访问权限,否则就表示没有权限。如果有些模块并没有定义操作,那么就会读取Public模块的操作权限。在应用系统的开发过程中,只需要设置相关的配置项和添加上面的认证方法,其他的认证和决策访问就由RBAC组件的AccessDecision方法自动完成了。你其实并不需要关心系统是如何判断用户是否具有权限的,这个在传统的权限控制模式里面是需要手动来一一判断的。

数据库分析表名称可以自定义,在配置文件可以自由配置think_user表根据实际需求1.管理员表和用户表是同一张表,则可以直接应用已建过的think_user表的用户2.管理员表和用户表分开存储,则另建think_admin表,表名也可以自定义以下四张表有一些特定字段是必须设置的think_node 节点表think_role 角色分组表think_access 权限分配表think_role_user 用户分组表用户表是完全自定义的,但是要有一列自增长编号列think_user 用户表

权限E-R图

角色分组表表名:think_role字段:id 角色分组ID

name 角色分组名称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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论