`
solagratia
  • 浏览: 13344 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Yii之权限管理扩展 srbac

Yii 
阅读更多

 

最近在研究 Yii 的权限控制功能,尽管Yii 自身提供了一个简单的权限管理,但是很多时候,我们还是需要对其做一点扩展。

在这里,我向大家推荐一个不错的扩展:SRBAC。

在Yii的官方网站的extension模块下,你可以发现SRBAC相对来说,下载量也算不少了 :)

这里,我就像大家简单介绍一下SRBAC里面一些需要注意的配置信息。

SRBAC主题环境的搭建,以及如何将其整合到我们具体的项目中(可以将其放到modules目录下,再在配置文件中进行一些配置)官方文档介绍得很详细,我就不赘述了。

在对照官方文档进行模块的整合以后,

有几个小注意点可能需要注意:

1. SRBAC模块自身会新建3张表(assignment,itenchildren,items)来满足其权限控制的需求。

     我们可以修改配置文件来自定义这三张表的名字,来使其更加符合我们自己项目的命名要求。

     修改config/main.php文件中对应的components的配置即可实现:

 

  1. // application components  
  2. 'components' => array(  
  3.     'authManager' => array(  
  4.         'class' => 'srbac.components.SDbAuthManager',  
  5.         'connectionID' => 'db',  
  6.         'itemTable' => 'items',  
  7.         'assignmentTable' => 'assignments',  
  8.         'itemChildTable' => 'itemchildren',  
  9.     ),  

 

 

2. 在成功install SRBAC 模块之后,我们自然都会期待尽快地看一下它的权限管理功能的实现。

    在install的时候我们可以选择是否生成一些测试数据,当然,如果没有生成的话也不要紧,我们可以自己根据它的规则来手动进行一些数据的配置。

    在介绍数据的配置之前,我们需要对折个SRBAC模块的工作原理有一点了解:

     SRBAC模块是通过roles-- tasks-- operations 这三者之间的映射关系来实现权限控制的。

     users对应于我们的用户

     roles对应于我们系统需要的所有角色名称

     operations对应于我们我们需要进行权限管理的所有具体操作的名称(例如某个具体的action,我们只允许某个role来访问)

在SRBAC的主界面我们可以看到三个icon,分别对应于不同的操作。

我们就先来新建一些我们需要的数据信息(对应于第一个icon):

新建具体的operation:这里的operation的命名需要注意,必须是ControllernameActionname的格式。controller、action的名字组合,且二者的首字母都必须要大写。

新建具体的task:一个task可以对应于多个operation,我们可以按照相应的功能来命名task。例如:可以使用News Management 来表示新闻管理的task。这里的命名没有严格的格式要求,只要做到见名知意即可。

新建具体的roles:这个很简单,就是输入我们需要的角色而已。

ok,数据新建完毕。接下来我们就来到assign页面(对应于第二个icon),对具体的数据来进行映射设置了。

根据前面所说的,将operations分配给各个task,然后我们再将tasks分配给具体的role。

最后再给user指定roles。

到这一步,我们的权限配置基本就结束了。

这时,我们可以通过点击第三个icon来查看我们具体的用户的权限信息时候正确。

确认无误以后,我们就可以来进行我们的权限验证了。

不过,在此之前还有最后一步,我们要确认已经关闭了SRBAC的debug模式。

因为查看源代码我们会发现,如果debug模式是开启状态的话,我们的权限管理是不会起作用的。

可以到config/main.php来进行查看:

 

  1. 'modules' => array(  
  2.     'srbac' => array(  
  3.         'userclass' => 'User',  
  4.         'userid' => 'id',  
  5.         'username' => 'username',  
  6.         'debug' => false,//confirm this field  



 

到这一步,我们的权限模块就可以work了。去检查一下我们的配置是否正常吧,呵呵

分享到:
评论

相关推荐

    YII srbac_1.3

    `YII srbac_1.3` 是一个针对Yii框架的权限控制(Role-Based Access Control,RBAC)扩展,它为开发者提供了一套完整的权限管理系统,使应用可以更加灵活、安全地管理用户的访问权限。在Yii框架中,RBAC是一种强大的...

    yii权限管理总结、和分析

    ### yii权限管理总结与分析 #### 一、概述 在Yii框架中,权限管理是实现应用安全性的重要组成部分。本文将详细介绍Yii框架中的权限管理机制,包括角色(Role)、任务(Task)、操作(Operation)等概念,并结合示例代码...

    Yii 添加Srbac模块安装配置详细教程

    在工作中整理出的yii RBAC中Srbac的详细安装步骤,附截图。

    Yii中srbac权限扩展模块工作原理与用法分析

    Yii框架中的srbac(Simple Role-Based Access Control)是基于RBAC(Role-Based Access Control)权限管理的一个扩展模块,它提供了强大的权限控制功能,帮助开发者实现对用户访问权限的精细化管理。以下是关于srbac...

    Yii框架调试辅助扩展

    "Yii框架调试辅助扩展yiidebugtb"是针对Yii框架的一个专门用于调试的应用扩展,它极大地便利了开发者在开发过程中对代码性能、数据库查询、会话状态等关键信息的监控。 该扩展的核心功能包括: 1. **性能监控**:...

    RBAC-yii2权限管理系统.zip

    RBAC-yii2权限管理系统

    yii-user扩展

    5. **权限与角色管理**:Yii User 集成了 RBAC(Role-Based Access Control)权限管理,可以定义不同角色,分配不同的操作权限,实现精细化的访问控制。 6. **邮箱验证**:通过邮件服务发送验证链接,用户点击后...

    yii2 通用后台系统

    总的来说,"yii2 通用后台系统"是一个利用Yii2框架强大特性的后台管理系统,它集成了用户管理、权限控制、上传功能等常见后台需求,同时具有高度可扩展性和可定制性,是企业级Web应用开发的理想选择。通过深入学习和...

    yii2 图片上传扩展插件

    总之,"yii2 图片上传扩展插件"提供了便捷的方式来处理Yii2应用中的图片上传任务,通过优化用户体验、错误处理和存储管理,让开发者能更专注于业务逻辑,而不是文件上传的细节。正确集成并使用这个插件,将大大提高...

    yii2-elasticsearch, Yii 2 Elasticsearch扩展.zip

    yii2-elasticsearch, Yii 2 Elasticsearch扩展 Elasticsearch查询和 Yii 2的ActiveRecord这个扩展为 Yii框架 2.0提供了的集成。 它包括基本查询/搜索支持,还实现了 ActiveRecord Pattern,允许你在elasticsearch

    yii框架 rbac扩展

    RBAC(Role-Based Access Control,基于角色的访问控制)是 Yii 框架中一个重要的权限管理组件,用于实现复杂的权限分配和访问控制。在Yii框架1.1版本中,RBAC扩展提供了一套完善的机制,允许开发者轻松管理用户的...

    yii2-redactor, Yii2框架的扩展 Redactor WYSIWYG.zip

    yii2-redactor, Yii2框架的扩展 Redactor WYSIWYG yii2-redactorYii2框架的扩展 redactor 。安装安装这里扩展的首选方法是通过 Composer 。运行php composer.phar require --prefer-dist yiidoc/yi

    yii框架rbac权限管理.zip

    yii框架rbac权限管理

    yii2.0后台源码

    这个“yii2.0后台源码”是一个带有权限管理功能的后端框架,它适用于各种项目需求,特别是那些需要强大用户管理和权限控制的复杂系统。让我们深入探讨一下这个框架的核心特性、权限管理以及如何在实际项目中应用。 ...

    管理系统系列--基于yii2的cmf管理系统.zip

    Yii2 CMF(内容管理框架)是用于构建高效、可扩展的企业级Web应用程序的开源PHP框架。本管理系统系列是基于Yii2 CMF实现的,旨在提供一个完整的后端和前端解决方案,以支持日常的业务运营和数据管理。下面将详细讨论...

    基于yii2的企业通用管理后台

    它基于组件,采用MVC(Model-View-Controller)架构模式,提供了丰富的特性,包括数据库抽象层、查询构建器、行为、事件、缓存、认证和角色权限管理等,使得开发过程更加高效和简洁。 【CMS系统与Yii2的结合】 CMS...

    yii2swoole让yii2运行在swoole上

    1. **Yii2框架与Swoole的集成**:Yii2swoole是将Yii2框架与Swoole进行整合的扩展,允许Yii2应用利用Swoole的高性能特性。它提供了在Swoole环境下运行Yii2的基础设施,包括请求处理、事件监听、session和cookie管理等...

    xupload, Yii框架的XUpload扩展.zip

    xupload, Yii框架的XUpload扩展 :Yii框架插件的XUpload扩展这个存储库不再主动地维护。 如果你对维护它感兴趣,请通过一个问题联系。 Yii扩展页面扩展页演示文件上传插件,允许你的用户轻松地将文件上传到服务器。...

Global site tag (gtag.js) - Google Analytics