Yii框架中安装srbac扩展方法
2024-09-30 07:13:21
首先,下载srbac_1.3beta.zip文件和对应的blog-srbac_1.2_r228.zip
问什么要下载第二个文件,后面就知道了。
- 按照手册进行配置:
- 解压缩srbac_1.3beta.zip文件,将解压后的文件复制到你的application/protected/modules目录下,注意是modules,而不是我们经常把扩展放到的那个extension目录。
- 配置你的application的config目录下的main.php文件。在import节添加配置,如:
'import'=>array(
'application.modules.srbac.controllers.SBaseController',);
- 在modules节添加配置,如:
'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
// 必须是一个存在的路径别名
),
- 然后修改components里的authManager配置:
'authManager'=>array(
// 'class'=>'CDbAuthManager',// Manager 的类型
'class'=>'srbac.components.SDbAuthManager',
'connectionID'=>'db',//使用的数据库组
'itemTable'=>'tbl_items',// 授权项目表 (默认:authitem)
'assignmentTable'=>'tbl_assignments',// 授权分配表 (默认:authassignment)
'itemChildTable'=>'tbl_itemchildren',// 授权子项目表 (默认:authitemchild)
),
注意这里,'class'=>'srbac.components.SDbAuthManager', 手册上写的是modules.srbac.components.SDbAuthManager,
折腾半天,还是参照了blog里的例子才发现的。
- OK,到这里,配置的工作就算完成了,然后在浏览器中运行application/index.php?r=srbac
这时会跳转到安装页面,奇怪,为什么会提示找不到User.php呢?这时候前面下载的第二个文件就有用了,还是解压缩,然后再protected/models目录中找到User.php这个文件,拷贝到你的application对应的目录中。然后刷新安装页面,又提示找不到{[User]}这个表,没完了啊,继续在blog的这个例子里,protected/db目录中,打开schema.mysql.sql,里面有tbl_user表的sql,摘出来,在mysql里执行下,然后修改User.php的tableName方法为:public function tableName(){return 'tbl_user';}
最新文章
- pyqt信号和槽应用举例
- 探讨Js的事件的冒泡阶段
- PAT 1038. 统计同成绩学生(20)
- SSIS2012 项目部署模型
- nfs服务部署记录
- Java-异常Throwable,Exception,Error
- 全国信息学奥林匹克联赛(NOIP2014)复赛 模拟题Day2 长乐一中
- android 分段显示文本颜色控件
- js 格式化数字
- java.util.Hashtable源码分析
- 分享2D Unity游戏的动画制作经验
- C语言面试问答(3)
- QT修改UI和源码后,程序页面还是原来页面的解决方法
- 【php】windows安装PHP5.5+Apache2.4
- js监听浏览器返回事件
- Windows10下安装MySQL8.0
- 通过url动态获取图片大小方法总结
- [转载] About Career Promotion and Tutoring from Zhihu Web FAQer (Quoted Entirely Without Personal Idea. Delete Immediately If Pirated)
- Top 5 SSH Clients for Windows (Alternatives of PuTTY)
- iOS后台播放音乐
热门文章
- LeetCode(105) Construct Binary Tree from Preorder and Inorder Traversal
- 基础训练 FJ的字符串
- 基于链式链表的栈链式存储的C风格实现
- Luogu 5017 NOIP2018普及组T3 摆渡车 (斜率优化 + 必要的转移进行剪枝)
- 00032_ArrayList集合的遍历
- Java-构造一个字符串
- Objective-c 实例变量的访问级别
- Charlie's Change(完全背包记录路径)
- oracle表空间,分区表,以及索引的总结
- nginx报错 too many open files in system