网站地图    收藏   

主页 > 后端 > php资料库 >

Yii Framework扩展srbac的配置教程_自学php网

来源:自学PHP网    时间:2014-12-04 22:12 作者: 阅读:

[导读] Srbac 可以在如下地址下载: Yii 扩展页面: http://www.yiiframework.com/extension/srbac/ Google 项目页面: http://code.google.com/p/srbac/downloads/list 也可以使用如下命令签出最新的开发代码: svn checkout...

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的配置:

'db'=>array(
     'connectionString' => 'mysql:host=localhost;dbname=blog',
     'emulatePrepare' => true,
     'username' => 'root',
     'password' => 'guohao',
     'charset' => 'utf8',
     'tablePrefix' => 'tbl_',
    ),
   
 配置authManager组件:
 'authManager'=>array(
     'class'=>'CDbAuthManager',// Manager 的类型
     'connectionID'=>'db',//使用的数据库组件
     'itemTable'=>'items',// 授权项目表 (默认:authitem)
     'assignmentTable'=>'assignments',// 授权分配表 (默认:authassignment)
     'itemChildTable'=>'itemchildren',// 授权子项目表 (默认:authitemchild)
 ),
 items,assignments,itemchildren三个表的名字可随意改动。表结构请到framework/web/auth/schema.sql
   
 'modules'=>array(
        '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
            // 必须是一个存在的路径别名
        ), 
 ),

//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;
    /
                    
                    
                

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论