- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ThinkPHPRBAC分析笔记
RBAC后台技术实现
基本概念
51返利的实际需求
管理人员:
团购管理人员
订单跟踪系统人员:
另外, 具体使用每个”应用”的人员,进入各个系统后所能执行的操作范围也不同.如团购网的经理可以拥有: 浏览、添加、删除、修改、审核数据的操作, 而普通人员登录后,仅拥有浏览、添加数据的能力.
什么是”访问控制”即”权限管理”?
最本质三要素即”主谓宾”: ①Who(谁) ②How 即进行什么操作 ③Whom 被操作的对象 是否允许, 即程序要控制这个3个要素的组合是否”通过”. 或这么理解, 权限表现为一个人可以拥有哪些操作,又分别可以操作哪些对象.
RBAC访问控制技术对用户的权限控制不是在用户本身上进行管理的,用户的权限是由用户所处的角色所决定的。在权限管理中,通过角色这一桥梁将用户与权限联系起来。用户和角色、角色与权限是一个多对多的关系。
Rbac的三要素
①: 用户(User):一个具有唯一标识符的用户,与权限相分离,只能通过所属的Role去关联权限,一个用户可以拥有多项角色;
②: 角色(Role):一定数量的权限的集合,角色可以继承,一个角色对应多项权限;
③: 权限(Resource):也可以看作是资源,是权限管理中执行操作和被操作对象的集合,在TP中对应着”应用”,”组”,”模块”,”方法”的访问资格和调用能力;具体参考下面的例子
相关参考: 除了基于角色的权限访问控制(Role Based Access Control,简称RBAC)外,还有自主访问控制(DAC)、强制访问控制(MAC). DAC和MAC访问控制技术均是直接对用户本身进行权限的管理,细度太小。当用户数量庞大并且用户之间关系复杂时,主体和客体关系的匹配及权限的管理就变得复杂起来。并且权限的变更将导致权限分配列表的变更,此时可能会遭遇到很大的困难,甚至于要修改系统的源代码。
TP的Rbac角色管理操作内容
将用户加入某一组,即将用户赋予某一角色, 组可以看成是角色的同义词,这个操作的前提操作就是用户的管理,包括用户的增删改查
对角色进行控制, 在TP的Rbac中分了3个层次对角色所拥有的能力范围进行控制, 一个角色可以访问哪些”应用/组”, 访问这个”应用/组”中的哪些”模块”, 以及可以执行那些??模块”中的哪些方法.
应用授权: 一个角色可以访问哪些”应用”,
模块授权: 一个角色可以访问这个”应用”中的哪些”模块”
操作授权: 一个角色可以执行这个”应用”中的那些”模块”的哪些方法
3. 权限操作, 具体请参考下面的【3. 理解TP Rbac节点管理】
理解TP Rbac节点管理
之前理解了TP的Rbac对角色控制分3个层次, 如果需要对这个3个层次进行编辑的话,就属于节点管理. 如对某一”应用”下的某一”模块”,这个”模块”里增加新的”操作” (当然这个最新增的”操作”肯定是为了之后赋个某个角色的).
实例: 为Rbac应用下的Form模块增加新的操作:显示上传页面, 处理上传的方法.
请思考如下问题: 代码FormAction是怎么和界面上的Form模块产生对应关系的, 在FormAction中新增的方法upload_file(), upload_file_op()又是怎么被后台管理起来的?
关键步骤:
Step1: 代码层中执行必要的准备工作,如果修改FormAction.class.php,增加upload_file(), upload_file_op()这个2个function的实现, 为这个2个方法分别修改add.html和新增upload_file.html模板
Step2:进入”节点管理”,点”Rbac”= 进入”Rbac”所对应的模块列表,点”Form”模块=进入”Form”模块的操作列表界面, 然后就在这个节目里增加对应的”操作项”, 一旦这些操作完成就可以在”角色管理”的”授权”操作中在”Rbac”应用的”Form”模块中看到这个2个操作条目.
TP Rbac 数据库设计
①后台账号(用户戒者管理员)表 think_user
②角色分组表 think_role
③用户角色关系表 think_role_user
④系统节点表 think_node
think_note 其实就是记录下了整个网站操作对应的 项目名称 模块名称 和 操作名称。
字段name就是当项目,模块或者操作的名称了。
字段pid 记录他们的从属关系,比如某一个模块是属于哪个项目,某个操作属于哪个模块。
字段level 表示该节点的层级 换句话就是说 level=1 为项目 ,level=2为模块 ,level=3就是操作了,比如说 admin项目,他的pid就是 0 (项目的PID都是0) level就是1,nane就是ad
您可能关注的文档
- ServiceOriented Business Process Modeling and Performance Evaluation based on AHP and Simu.pdf
- Servlet单例分析.doc
- Service动态调用框架的设计与实现.pdf
- Servlet容器工作原理.doc
- Servo Shaft系列直线电机常见问题 Servo Shaft Linear Motor FAQ.doc
- ServU的安装和基本设置实验作业.doc
- servlet跳转页面的几种方法.doc
- SeSFJava A Framework for Design and AssertionTesting of Concurrent.pdf
- SessionCookie笔试题及答案.doc
- SessionBased Adaptive Overload Control for Secure Dynamic Web Applications.pdf
- 部分可观测性下组合任务运动一种基于优化方法camille phiquepal 1153.pdf
- pcf2测量报告全尺寸part.pdf
- 画猫男孩级读者剧场剧本根据民间故事改编由kitty the boy who drew cats.pdf
- 文本说明二阶段-2x1000mw1acfc.pdf
- 批准hcki534d 544d-绕组技术数据表hcki5d 17 td en rev.pdf
- uu24m6-检测按键灯网口等.pdf
- 文案技术数据表2007technical datasheet.pdf
- 3g sleep mode application note睡眠模式应用程序说明.pdf
- 芯驿电子科技教程302 petalinux安装.pdf
- 案例shapemonkey用户指南2017 dan ebberts orrin user.pdf
文档评论(0)