Yii扩展srbac配置

下载 srbac

Srbac 可以在如下地址下载:
Yii 扩展页面: http://www.yiiframework.com/extension/srbac/ 
Google 项目页面: http://code.google.com/p/srbac/downloads/list

也可以使用如下命令签出最新的开发代码:

svn checkout http://srbac.googlecode.com/svn/trunk/ srbac-read-only

安装 srbac

要安装 srbac 模块,首先解压压缩文件到Yii应用的模块目录,如果把srbac作为一个模块的话,就要在protected文件夹下新建一个文件夹modules,然后把解压得到的文件夹复制过来。

然后编辑配置文件如下:

在protected/config/main中

首先应该有db的配置:

复制代码
 1 'db'=>array(
 2     'connectionString' => 'mysql:host=localhost;dbname=blog',
 3     'emulatePrepare' => true,
 4     'username' => 'root',
 5     'password' => 'guohao',
 6     'charset' => 'utf8',
 7     'tablePrefix' => 'tbl_',
 8    ),
 9 
10 配置authManager组件:
11 'authManager'=>array(
12     'class'=>'CDbAuthManager',// Manager 的类型
13     'connectionID'=>'db',//使用的数据库组件
14     'itemTable'=>'items',// 授权项目表 (默认:authitem)
15     'assignmentTable'=>'assignments',// 授权分配表 (默认:authassignment)
16     'itemChildTable'=>'itemchildren',// 授权子项目表 (默认:authitemchild)
17 ),
18 items,assignments,itemchildren三个表的名字可随意改动。表结构请到framework/web/auth/schema.sql
19 
20 'modules'=>array(
21    'srbac' => array(
22                    'userclass'=>'User', //可选,默认是 User
23                     'userid'=>'id', //可选,默认是 userid
24                     'username'=>'username', //可选,默认是 username
25                     'debug'=>true, //可选,默认是 false
26                      'pageSize'=>10, //可选,默认是 15
27                      'superUser' =>'Authority', //可选,默认是 Authorizer
28                       'css'=>'srbac.css', //可选,默认是 srbac.css
29                        'layout'=>
30                        'application.views.layouts.main', //可选,默认是
31                      // application.views.layouts.main, 必须是一个存在的路径别名
32                         'notAuthorizedView'=>
33                                 'srbac.views.authitem.unauthorized', // 可选,默认是unauthorized.php
34                     //srbac.views.authitem.unauthorized, 必须是一个存在的路径别名
35                        'alwaysAllowed'=>array(    //可选,默认是 gui
36                        'SiteLogin','SiteLogout','SiteIndex','SiteAdmin',
37                         'SiteError', 'SiteContact'),
38                          'userActions'=>array(//可选,默认是空数组
39                                          'Show','View','List'),
40                          'listBoxNumberOfLines' => 15, //可选,默认是10
41                          'imagesPath' => 'srbac.images', //可选,默认是 srbac.images
42                          'imagesPack'=>'noia', //可选,默认是 noia
43                          'iconText'=>true, //可选,默认是 false
44                           'header'=>'srbac.views.authitem.header', //可选,默认是
45                           // srbac.views.authitem.header, 必须是一个存在的路径别名
46                           'footer'=>'srbac.views.authitem.footer', //可选,默认是
47                           // srbac.views.authitem.footer, 必须是一个存在的路径别名
48                          'showHeader'=>true, //可选,默认是false
49                            'showFooter'=>true, //可选,默认是false
50                              'alwaysAllowedPath'=>'srbac.components', //可选,默认是 srbac.components
51                                   // 必须是一个存在的路径别名
52 ),
53   
54 ),
复制代码



//srbac作为一个模块,所以要声明一下才能使用。

查看srbac属性列表可以得到每个属性的详细信息。

导入 SbaseController(for using the auto checking access feature):
'import'=>array(
   'application.modules.srbac.controllers.SBaseController',

),

这样就配置完了。接着你可以访问http://localhost/app/index.php?r=srbac/authitem

 

进入安装页面后如果有变红的项目,说明你的配置有问题,请修改为正确的配置。然后点击安装。

然后完成安装,显示成功后,你进入项目,找到protected\modules\srbac \views\authitem\install可以把这个文件夹删掉,也可以重命名。然后找到protected\modules\srbac \controllers\AuthitemController.php

修改

protected function beforeAction($action) {
   
 //if(!$this->module->isInstalled() && $action->id != "install") {
    // $this->redirect(array("install"));
    // $this->actionInstall();
     // return false;
    //}

    if($this->module->debug) {
      return true;
    }

    if( Yii::app()->user->checkAccess(Helper::findModule('srbac')->superUser) ||
      !Helper::isAuthorizer()) {
      return true;
    } else {
      parent::beforeAction($action);
    }
}

因为这个地方判断每次都是新安装srbac。当你安装完成后,这里就没用了。可以注释掉了。

再访问链接http://localhost/app/index.php?r=srbac/authitem/authitem

就可以看到管理界面了。

随便看了下,果然很强大。


转载:http://www.cnblogs.com/mrcoke/articles/2407821.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值