以前自己安装过一次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. PerformEraseBackground 擦除背景(ThemeServices)

    PerformEraseBackground 擦除背景的简单方法(外带ThemeServices例子) 在查这个函数的时候,顺便看到了有趣的代码. 怎么使用 Themes . unit Unit2; ...

  2. Redis几种数据类型的应用场景(转)

    原文地址:https://blog.csdn.net/xiaoliuliu2050/article/details/73250708

  3. locaton.href传参数

    location.href = location.href.substring(0,location.href.lastIndexOf('?'))+'?typeId=' + fid + '&p ...

  4. NGINX 资料

    查看资料详情     nginx

  5. R语言学习路线图-转帖

    本文分为6个部分,分别介绍初级入门,高级入门,绘图与可视化,计量经济学,时间序列分析,金融等. 1.初级入门 <An Introduction to R>,这是官方的入门小册子.其有中文版 ...

  6. maven不同环境的profile配置

    1.开发的时候经常需要加载不同的环境,比如本地开发环境dev,生产环境product.如果需要手动去修改的话就太麻烦了,自己实现了maven资源替换,然后多环境下的配置文件管理的demo,在此贴出来. ...

  7. js中获取事件对象的方法小结

    原文地址:http://jingyan.baidu.com/article/d8072ac4594d6cec95cefdac.html 事件对象 的获取很简单,很久前我们就知道IE中事件对象是作为全局 ...

  8. 构建Redis主从镜像

    构建Redis的基础镜像,然后基于这个基础镜像构建主Redis镜像和从Redis镜像. 1.构建Redis基础镜像 创建redis基础镜像目录 [root@localhost mnt]# mkdir ...

  9. [UE4]反射

    1.根据名字获得类(C++支持,蓝图本身不支持但可以通过工厂模式模拟) 国外大神提供的封装好的C++实现: https://github.com/getsetgames/BlueprintReflec ...

  10. [UE4]区分敌我

    第一方法是:使用Actor对象的Tag: 只要继承自Actor的对象,都会有Tags这个属性,这是一个数组,可以添加多个Tag. 在蓝图中可以使用“get Components by Tag”获得某个 ...