以前自己安装过一次srbac,遇到很多问题,虽然都解决了,可是一时偷懒,没做记录。
再次安装时,还是遇到了点麻烦,所以这一还是记下来,以备不时之需。
首先,下载srbac_1.3beta.zip文件和对应的blog-srbac_1.2_r228.zip
问什么要下载第二个文件,后面就知道了。
  1. 按照手册进行配置:
  • 解压缩srbac_1.3beta.zip文件,将解压后的文件复制到你的application/protected/modules目录下,注意是modules,而不是我们经常把扩展放到的那个extension目录。
  • 配置你的application的config目录下的main.php文件。在import节添加配置,如:
'import'=>array(

        'application.modules.srbac.controllers.SBaseController',); 
  • 在modules节添加配置,如:

'srbac' => array(

                'userclass'=>'User', //可选,默认是 User

                'userid'=>'id', //可选,默认是 userid

                'username'=>'username', //可选,默认是 username

                'debug'=>true, //可选,默认是 false

                'pageSize'=>10, //可选,默认是 15

                'superUser' =>'Authority', //可选,默认是 Authorizer

                'css'=>'srbac.css', //可选,默认是 srbac.css

                'layout'=>'application.views.layouts.main', //可选,默认是

                // application.views.layouts.main, 必须是一个存在的路径别名

                'notAuthorizedView'=>

                     'srbac.views.authitem.unauthorized', // 可选,默认是unauthorized.php

                     //srbac.views.authitem.unauthorized, 必须是一个存在的路径别名

                     'alwaysAllowed'=>array(//可选,默认是 gui

                            'SiteLogin','SiteLogout','SiteIndex','SiteAdmin',

                            'SiteError', 'SiteContact'),

                     'userActions'=>array(//可选,默认是空数组

                                       'Show','View','List'),

                     'listBoxNumberOfLines' => 15, //可选,默认是10

                     'imagesPath' => 'srbac.images', //可选,默认是 srbac.images

                     'imagesPack'=>'noia', //可选,默认是 noia

                     'iconText'=>true, //可选,默认是 false

                     'header'=>'srbac.views.authitem.header', //可选,默认是

                      // srbac.views.authitem.header, 必须是一个存在的路径别名

                     'footer'=>'srbac.views.authitem.footer', //可选,默认是

                     // srbac.views.authitem.footer, 必须是一个存在的路径别名

                     'showHeader'=>true, //可选,默认是false

                     'showFooter'=>true, //可选,默认是false

                     'alwaysAllowedPath'=>'srbac.components', //可选,默认是 srbac.components

                     // 必须是一个存在的路径别名

        ),
 
  • 然后修改components里的authManager配置:

'authManager'=>array(
                // 'class'=>'CDbAuthManager',// Manager 的类型
                 'class'=>'srbac.components.SDbAuthManager',   
                 'connectionID'=>'db',//使用的数据库组
                 'itemTable'=>'tbl_items',// 授权项目表 (默认:authitem)
                 'assignmentTable'=>'tbl_assignments',// 授权分配表 (默认:authassignment)
                'itemChildTable'=>'tbl_itemchildren',// 授权子项目表 (默认:authitemchild)
        ),

注意这里,'class'=>'srbac.components.SDbAuthManager', 手册上写的是modules.srbac.components.SDbAuthManager,

      折腾半天,还是参照了blog里的例子才发现的。
  1. OK,到这里,配置的工作就算完成了,然后在浏览器中运行application/index.php?r=srbac

      这时会跳转到安装页面,奇怪,为什么会提示找不到User.php呢?
      这时候前面下载的第二个文件就有用了,还是解压缩,然后再protected/models目录中找到User.php这个文件,拷贝到你
      的application对应的目录中。
      然后刷新安装页面,又提示找不到{[User]}这个表,没完了啊,继续在blog的这个例子里,protected/db目录中,打开schema.mysql.sql,
      里面有tbl_user表的sql,摘出来,在mysql里执行下,然后修改User.php的tableName方法为:
      public function tableName()
      {
    return 'tbl_user';
      }

再次刷新安装页面,一切OK,点安装,顺利完成。

srbac配置的更多相关文章

  1. YII框架中的srbac权限管理模块的安全与使用(版本是1.1.20)

    0x01 前言 srbac的原理: YII框架的srbac模块是一个专门管理权限的一个模块,那它是怎么管理权限的呢.我们知道YII框架的网页显示是由控制器实现的,控制器继承父类CController和 ...

  2. yii之srbac详解

    一.安装篇 1.下载http://www.yiiframework.com/extension/srbac/ 将解压得到的srbac文件夹放在moudles目录下. 2.在项目的主配置文件中mai.p ...

  3. Yii之权限管理扩展 srbac

    最近在研究 Yii 的权限控制功能,尽管Yii 自身提供了一个简单的权限管理,但是很多时候,我们还是需要对其做一点扩展. 在这里,我向大家推荐一个不错的扩展:SRBAC. 在Yii的官方网站的exte ...

  4. Yii框架中使用SRBAC作为权限管理模块时遇到的问题

    Yii框架中使用SRBAC作为权限管理模块时遇到的问题   看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面. 最后想到, ...

  5. Yii框架中安装srbac扩展方法

    首先,下载srbac_1.3beta.zip文件和对应的blog-srbac_1.2_r228.zip 问什么要下载第二个文件,后面就知道了. 按照手册进行配置: 解压缩srbac_1.3beta.z ...

  6. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  7. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  8. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  9. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

随机推荐

  1. Combobox中禁止鼠标中键滚动list列表

    //第1种方法 procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; Mo ...

  2. Word中选择中内容后变成C,VMware 虚拟中Ctrl键一直被按住了

    Word中选择中内容后变成C: 解决办法:关闭金山词霸的[划词翻译]功能即可. VMware 虚拟中Ctrl键一直被按住了: 解决办法:关闭金山词霸的[取词翻译]功能即可.

  3. 黄聪:移动应用抓包调试利器Charles

    一.Charles是什么?   Charles是在 Mac或Windows下常用的http协议网络包截取工具,是一款屌的不行的抓包工具,在平常的测试与调式过程中,掌握此工具就基本可以不用其他抓包工具了 ...

  4. C++11--时钟和计时器<chrono>

    /* 介绍<chrono> -- 一个精确中立的时间和日期库 * 时钟: * * std::chrono::system_clock: 依据系统的当前时间 (不稳定) * std::chr ...

  5. MySQL 服务启动y异常: 本地无法启动MySQL服务,报的错误:1067,进程意外终止---解决

    启动MySQL后,几秒钟后直接报错了 然后在事件查看器中发现了几条错误信息 Can't start server: Bind on TCP/IP port: No such file or direc ...

  6. sql server 2008 R2 备份还原到sql 2012

    从sql server 2008 r2备份的在sql server 2012中还原时一直读不到备份文件,然后把2008r2备份文件放到sql 2012的安装路径对应的Backup文件夹后可以读到了,不 ...

  7. 廖雪峰Java5集合-3Map-1使用Map

    廖雪峰的视频不全,以下是疯狂Java关于Map的讲解 1.Map定义 Map是一种键值映射表,可以通过key快速查找value,同python的dict.key不允许重复,value可以重复. Map ...

  8. SEO之HTML代码优化

    原文地址:http://www.admin5.com/article/20081128/117821.shtml   一.文档类型(DOCTYPE) XHTML1.0有三种DOCTYPE: 1.过渡型 ...

  9. Quidway S系列交换机

    一. 华为交换机设备,以Quidway S系列命名,广泛适用于企业网.园区网和运营网络.Quidway S系列交换机包括: 接入层交换机 汇聚层交换机 核心层交换机 1.接入层交换机 包含两个系列: ...

  10. dropdownlist 绑定方法

    this.ddlUnit.SelectedValue = id; //注意大小写,如果选中失败会显示默认值. ListItem item=ddlUnit.Items.FindByValue(id); ...