YII框架下SRBAC的安装、配置、使用详解


安装篇:

下载Yii扩展插件Srbac提供下载地址:

http://www.yiiframework.com/extension/srbac/

http://code.google.com/p/srbac/downloads/list

下载完成之后直接将压缩包的文件srbac文件包拷贝到modules文件中,如果没有modules文件,可以创建该文件目录,然后拷贝进去。

配置config.php文件

导入Srbac的默认引导文件,下面红色部分

   'import'=>array(

                       'application.models.*',

                       'application.components.*',

                       'application.modules.srbac.controllers.SBaseController',

           ),

在组件中配置好当前的数据库,已有的不用修改,首次安装需要开启相关的数据库,本人使用MySQL数据库

   'db'=>array(

                       'connectionString'=> 'mysql:host=localhost;dbname=shareweb',

                       'emulatePrepare' =>true,

                       'username' => 'root',

                       'password' => '',

                       'charset' => 'utf8',

                       'tablePrefix' =>'share_',

   ),

加入Srbac所需要的表,进行自动管理(导入所需要的三个基本表)

   'authManager'=>array(

                       'class'=>'application.modules.srbac.components.SDbAuthManager',

                       'connectionID'=>'db',

                       'itemTable'=>'share_items',

                       'assignmentTable'=>'share_assignments',

                       'itemChildTable'=>'share_itemchildren',

   ),

注意:(这三个基本表可以随意定义表明,没有特别的要求,建议使用原表命名,加上表前缀)

加载Srbac模块在modules中进行相关的配置

   'srbac'=> array(

           'userclass'=>'Users',      //用户model名字段

           'userid'=>'id',            //用户表user_id的标识字段

           'username'=>'username',    //用户表username的标识字段

           'delimeter'=>'/',          //控制器名和方法的分割线(在Srbac模块中的体现)

           'debug'=>true,             //debug模式为真,Srbac模块失效,debug模式为假,Srbac模块工作

           'pageSize'=>10,            //Srbac模块中的分页设置

           'superUser' =>'Authority', // Srbac中最高权限管理者名称

           'css'=>'srbac.css',        //Srbac加载的CSS样式

          'layout'=>'application.views.layouts.main',   //Srbac模块展现的主题模版

           'notAuthorizedView'=>'srbac.views.authitem.unauthorized',   //非自动验证视图

           'alwaysAllowed'=>array(    //默认不分权限管理的action动作

              'SiteLogin','SiteLogout','SiteIndex','SiteAdmin',

               'SiteError', 'SiteContact',

            ),

          'userActions'=>array('Show','View','List'),     //User 默认的动作

           'listBoxNumberOfLines' => 15,                  //Srbac模块中的listbox分页

           'imagesPath' => 'srbac.images',                //Srbac模块加载图文件夹

           'imagesPack'=>'tango',                         //Srbac模块主题的风格noiatango两种

           'iconText'=>true,                              //图片上显示文本,为真有文本,为假只有图标

          'header'=>'srbac.views.authitem.header',   //Srbac模块视图的view头部

          'footer'=>'srbac.views.authitem.footer',   //Srbac模块视图的view页尾

           'showHeader'=>true,      //显示视图头部

           'showFooter'=>true,      //显示视图尾部

          'alwaysAllowedPath'=>'srbac.components',   //默认加载Srbac的核心文件地址

       ),

   ),

测试:

http://ahui.shareweb.com/index.php?r=srbac(设置debug为真)进入安装页面会有配置文件的选择,检查完之后勾选复选框,进行安装,安装成功之后会进入Srbac管理页面;

YII框架下SRBAC的安装、配置、使用详解_第1张图片

使用:

创建task任务组,该组可以管理组内的所有operate动作

YII框架下SRBAC的安装、配置、使用详解_第2张图片

创建Operation动作操作,创建用户角色Role(Task同样)


分配任务管理,将operation 纳入Task

YII框架下SRBAC的安装、配置、使用详解_第3张图片

Tasks纳入用户组中进行管理

YII框架下SRBAC的安装、配置、使用详解_第4张图片

将用户进行分组管理

YII框架下SRBAC的安装、配置、使用详解_第5张图片

一切就绪之后,可以开启 debug false ,进行生产模式工作。以上仅供参考,不足之处,还请不惜赐教。

来自:www.51shareweb.com, 更多精彩内容在此

你可能感兴趣的:(yii,srbac)