以前自己安装过一次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. hmaster 启动后自动关闭

    hbase重装后,hmaster却起不来,多次启动也不行,后来发现原因是在zookeeper中之前注册的hmaster仍然存在,系统中只允许一个hmaster运行.解决方法如下: 进入zk客户端,将h ...

  2. mycat 1.6 配置【仅学习测试配置使用】

    jdk 自行配置 mycat 1.6 点击下载 配置文件 schema.xml <?xml version="1.0"?> <!DOCTYPE mycat:sch ...

  3. WebService发布到IIS

    发布WebService 第一步:选择项目右键发布 第二步:选择文件系统.目标位置(即,发布后文件保存位置) 单击发布 将WebService发布至IIS 第一步:打开IIS 右键添加网站--填写网站 ...

  4. php 直接获取url参数赋值成变量。省去繁琐的获取参数,再一个个赋值

    php 直接获取url参数赋值成变量.省去繁琐的获取参数,再一个个赋值 parse_url() 该函数可以解析 URL,返回其组成部分.它的用法如下: array parse_url(string $ ...

  5. CAD 中绘制点

    首先开启点样式,否则点是看不到的 系统变量 PDMODE 和 PDSIZE 控制点对象的显示外观. PDMODE 取值为 0.2.3 .4 时指定表示点的图形,取值为 1 表示不显示任何图形,如下图所 ...

  6. Map集合利用比较器Comparator根据Key和Value的排序

    TreeMap排序 根据Key进行排序 Map的根据key排序需要用到TreeMap对象,因为它是默认按照升序进行输出的,可以使用比较器compareTo对它进行降序排序,Comparator可以对集 ...

  7. 黄聪:TortoiseGit(乌龟git)保存用户名密码的方法

    1.在项目文件夹右键--tortoiseGit--设置 2.编辑全局.git/config 3.加上这行代码 里面会有你先前配好的name 和email,只需在下面加一行 [credential] h ...

  8. PHP 下载中文乱码解决

    利用 iconv() 函数解决乱码 $file_name = iconv("utf-8","gb2312",$file_name); 原文链接 http://m ...

  9. 【转】non-blocking REST services with Spring MVC

    堵塞Controller Controller为单例: 非线程安全: 堵塞方式: 1个request对应1个处理Thread: @RestController public class Process ...

  10. C#实现mongodb自增列的使用

    创建一个集合存放_id db.createCollection("counters") 加入需要自增的字段 { "_id":"productid&qu ...