`
lijunabc
  • 浏览: 47221 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

srbac

    博客分类:
  • php
 
阅读更多
以前自己安装过一次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,点安装,顺利完成。

分享到:
评论

相关推荐

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

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

    YII srbac_1.3

    yii rbac 插件模块,进行权限控制,非常方便

    Yii的Srbac插件用法详解

    本文实例讲述了Yii的Srbac插件用法。分享给大家供大家参考,具体如下: Yii的rbac,从开始安装arbc模块扩展,到调试分析其原理,断断续续地也花了不少时间。当然你了解它后,你会发现,yii的abrc是多的方便, 可以让...

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

    本文实例讲述了Yii中srbac权限扩展模块工作原理与用法。分享给大家供大家参考,具体如下: 1. 设置权限规则表:可放在module模块配置文件里面 public function init() { //操作权限表,必须存在以下字段: //...

    论文研究-带空间特性角色访问控制模型的冲突会话.pdf

    为提高角色访问控制模型的安全描述能力,主要研究带空间特性的角色访问控制模型(SRBAC)的会话特性。首先对传统会话作了扩展,规定每个会话都有一个优先级;再讨论了SRBAC模型可能引起冲突的会话,给出了冲突会话的...

    yii权限管理

    srbac 可以直接安装使用,很容易实现权限管理

    Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】

    本文实例讲述了Yii框架使用PHPExcel导出Excel文件的方法。分享给大家供大家参考,具体如下: ... // autoloading model and ... /*'application.modules.srbac.controllers.SBaseController',*/ 'application.models.*',

    Yii中使用PHPExcel导出Excel的方法

    本文实例讲述了Yii中使用PHPExcel导出Excel的方法。分享给大家供大家参考。具体分析如下: ...复制代码 代码如下:// autoloading model and ... /*’application.modules.srbac.controllers.SBaseController’,*/ 

Global site tag (gtag.js) - Google Analytics