以前自己安装过一次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. elasticsearch mysql logstash 同步 简单配置【环境centos7 elasticsearch 6.0 mysql 5.7 logstash 6.0】

    插件:logstash-input-jdbc 安装插件logstash-input-jdbc 1.安装 gem   yum install gem 2.替换国内的镜像   gem sources -- ...

  2. MyBatis中的@Mapper注解及配套注解使用详解(上)

    前言: 从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件(那个xml写的是真的蛋疼...).很恶心的一个事实是源码中并没有对于这个注解的详细解释 现在我们 ...

  3. Ubuntu 14.04 下安装 MongoDB 服务器 和 PHP MongoDB Driver 数据驱动

    https://laravel-china.org/topics/309/install-mongodb-server-and-php-mongodb-driver-data-driver-under ...

  4. 黄聪:wordpress获取hook所有function

    list_hooked_functions('wp_footer'); function list_hooked_functions($tag=false) { global $wp_filter; ...

  5. JavaScript中date日期的n种方法

    转自博客 https://blog.csdn.net/u013992330/article/details/54318737

  6. ALGO-22_蓝桥杯_算法训练_数的划分(DP)

    问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=,k=,下面三种分法被认为是相同的. ,,; ,,; ,,; 问有多少种不同的分法. 输入格式 n,k 输出格式 ...

  7. 解除IE锁定主页批处理

    解除IE锁定主页.bat rem 解除IE锁定主页@echo offecho HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main [ ...

  8. 得到body相对定位的插件

    相对body定位的插件 function offset(ele){ //该元素到父级水平定位的距离 var le=ele.offsetLeft; //该元素到父级垂直定位的距离 var to=ele. ...

  9. python动态绑定属性和方法

    基于Python 2.7.13测试. Python是动态语言,在类定义了之后,还可以动态地绑定属性和方法. 下面先来看怎么给类的实例动态地绑定属性和方法. >>> class Stu ...

  10. CDN上的缓存刷新、缓存预热是怎样的使用场景?

    缓存刷新 源站内容更新后,希望用户可以获取到最新资源,CDN租户可以通过提交刷新请求将CDN节点上指定的缓存内容强制过期.当用户再次访问时,CDN节点将回源获取已更新内容返回给用户并在节点缓存最新资源 ...