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


安装篇:

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

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

下载完成之后直接将压缩包的文件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模块主题的风格noia,tango两种

'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管理页面;

 

24225708_pojU

使用:

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

24225709_RN6Y

 

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

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

24225709_OXnJ

Tasks纳入用户组中进行管理

24225710_S6rf

 

将用户进行分组管理

24225710_ZlJJ

 

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

http://my.oschina.net/51shareweb/blog/104639

Archives