设为首页收藏本站
查看: 59|回复: 0

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

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2014-5-16 09:11:00 | 显示全部楼层 |阅读模式
    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模块主题的风格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管理页面;


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


    创建Operation动作操作,创建用户角色Role组(与Task同样)
    分配任务管理,将operation?纳入Task中


    将Tasks纳入用户组中进行管理


    将用户进行分组管理


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

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表