RBAC分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RBAC分析

RBAC分析、应用、优化RBAC对于ThinkPHP初学者来说总感觉太复杂,但是权限认证与管理是非常重要且常用的功能,所以我这里算是以学习笔记的形式与大家共同学习。 如题所示,这个帖子主要分为三个部分:分析、应用、优化。分析部分主要了解下RBAC到底是什么,并分析数据库结构,做好应用准备;应用部分以示例项目来看RBAC是如何工作的,对RBAC有个全面的了解;优化部分主要是讲在我们的项目部署时怎么简化RBAC用于实际建站。分析与应用部分我们均以传统方式来部署,优化部分大家可以提出自己的优化方法。 一、分析 RBAC:基于角色的访问控制(Role-Based Access Control),参见百度百科。 用户,角色,节点:用户本身并没有权限,角色才具有控制节点的权限,所以另外还需要有用户与角色的关系、角色与节点的关系,即用户属于什么角色、角色具有哪些节点的控制权。角色 role 虽然不等同于用户组 group ,但是这里把角色看成是用户组可能更好理解这种关系吧。 为了使这种结构更明晰,我们先看一下数据库的数据表。 下载 8.94 KB 2010-6-28 17:46 从上图可以看出RBAC的执行流程:(首先判断是用户是否登录,没有登录的话会跳转到入口页)有了目前登录的用户,根据“用户-角色关系表”判断用户属于哪个角色,根据“角色-节点关系表”判断角色具有哪些节点的权限。 再看看这几个表:用户、角色、节点都有id和name,这非常好理解吧。节点表还有pid(父级id)和level(节点对应的级别)。也就是说节点表里面不同节点可以继承,另外级别分为1,2,3分别对应项目、模块、操作。关系表建立起关系,把不同表的id对应起来。 怎么样,是不是对数据库的结构比较清晰了呢?可以开始建立好这样的表,准备建立应用哦。 (ThinkPHP的示例中有建好的对应的几个表,差不多,只是多一些字段)二、应用 这里我们建立一个非常简单的RBAC项目(我这里项目名称是test,数据库名称是test) 1.建立数据库,可以用附件中的sql文件导入。具体数据库结构参见sql文件,导入后在phpmyadmin看起来更直观些。 2.配置文件,参看附件中的config.php 开启用户认证,配置一些参数。 3.将RBAC.class.php复制到Lib/ORG/内。 4.CommonAction.class.php 初始化都进行用户权限检查。 5.MemberAction.class.php 用户登录登出,还有几个可以控制权限的操作。 数据表与功能说明: 用户 角色 节点 - 2 -

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档