微信微信好友朋友圈看不到发的说说图片视频 被好友评论了 我也回复了 清空了为啥还是在的求解

&&&&yii权限管理扩展
&yii权限管理扩展
解包放到protected/modules中
在protected/config/main.php文件中添加配置:
'import'=&array(
'application.models.*',
'ponents.*',
'application.modules.srbac.controllers.SBaseController',
在inport中引入SRBAC控制器基类,然后添加对SRBAC的具体配置:
'modules'=&array(
'srbac'=&array(
'userclass'=&'User',//default: User
对应用户的model
'userid'=&'id',//default: userid
用户表标识位对应字段
'username'=&'name',//default:username
用户表中用户名对应字段
'delimeter'=&'@',//default:-
item分隔符
'debug'=&FALSE,//default :false
调试模式,true则所有用户均开放,可以随意修改权限控制
'pageSize'=&10,// default : 15
'superUser'=&'Authority', //default: Authorizer
超级管理员,这个账号可以不受权限控制的管理,对所有页面均有访问权限
'css'=&'srbac.css',//default: srbac.css
'layout'=&'application.views.layouts.main',//default: application.views.layouts.main,must be an existing alias
'notAuthorizedView'=&'srbac.views.authitem.unauthorized',// default:srbac.views.authitem.unauthorized, must be an existing alias
'alwaysAllowed'=&array(//default: array()
总是允许访问的动作
'gui','SiteLogin','SiteLogout','SiteWelcome','SiteIndex'
'userActions'=&array(
'Show','View','List'
),//default: array()
'listBoxNumberOfLines'=&15,//default : 10
'imagesPath'=&'srbac.images',// default: srbac.images
'imagesPack'=&'noia',//default: noia
'iconText'=&true, // default : false
'header'=&'srbac.views.authitem.header',//default : srbac.views.authitem.header,must be an existing alias
'footer'=&'srbac.views.authitem.footer',//default: srbac.views.authitem.footer,must be an existing alias
'showHeader'=&true,// default: false
'showFooter'=&true,// default: false
'alwaysAllowedPath'=&'ponents',// default: ponents,must be an existing alias
最后配置应用组件:
'components'=&array(
'authManager'=&array(
// Path to SDbAuthManager in srbac module if you want to use case insensitive
//access checking (or CDbAuthManager for case sensitive access checking)
'class'=&'CDbAuthManager',// Manager 的类型
'connectionID'=&'db',// The database component used
'itemTable'=&'authitem',// The itemTable name (default:authitem)
'assignmentTable'=&'authassignment',// The assignmentTable name (default:authassignment)
权限分配表
'itemChildTable'=&'authitemchild',// The itemChildTable name (default:authitemchild)
任务对应权限表
最后要配置controller,由于源码中SBaseController已经继承CController,在写controller基类时可以直接继承SBaseController。
进入SRBAC管理界面(如果没有做urlManager):index.php?r=srbac/authitem/frontpage
Yii中SRBAC模块安装与应用
点击“管理授权项”,然后点击添加:
Yii中SRBAC模块安装与应用
创建Role/Task/Operation之后点击“分配授权项”
Yii中SRBAC模块安装与应用
分配的顺序先是给任务分配操作(这个,需要已经写了操作才会有),然后给角色赋予任务,最后再给用户赋予角色。
没有权限时候会是下图的样子:
Yii中SRBAC模块安装与应用
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
课程资源下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
yii权限管理扩展
所需积分:2
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
yii权限管理扩展
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员2240人阅读
Yii技术(40)
设置权限规则表:可放在module模块配置文件里面
public function init() {
//操作权限表,必须存在以下字段:
//itemname角色名/ID,
//type授权项目类型/1(任务)或者2(角色),
//bizrule权限/逻辑运算表达式为false是有权限操作,
//data数据/YII暂无利用
Yii::app()-&authManager-&itemTable = 'AuthItem';
//会员组-权限对应表,必须存在以下字段:
//child子角色/ID,
//parent父角色/ID,此表可循环执行,可多级继承
Yii::app()-&authManager-&itemChildTable = 'uthItemChild';
//会员-会员组对应表,会员组可直接为操作名称,必须存在以下字段:
//itemname角色名/ID,
//userid用户名/ID,
//bizrule权限/逻辑运算表达式为false是有权限操作,
//data数据/YII暂无利用
Yii::app()-&authManager-&assignmentTable = 'zd_mem_glog';
实现规则,所在控制器继承基类SBaseController,原来为Controllerclass ProductController extends SBaseController
class SBaseController extends Controller
SBaseController继承基类Controller,前填加beforeAction,实现权限验证。
protected function beforeAction($action) {
//载入模块分隔符
$del = Helper::findModule('srbac')-&
//取得前模块名称
$mod = $this-&module !== null ? $this-&module-&id . $del : &&;
$contrArr = explode(&/&, $this-&id);
$contrArr[sizeof($contrArr) - 1] = ucfirst($contrArr[sizeof($contrArr) - 1]);
$controller = implode(&.&, $contrArr);
$controller = str_replace(&/&, &.&, $this-&id);
// 生成静态页面 模块+分隔符+控制器(首字母大写)+方法(首字母大写)例: model-ControllerAction
if(sizeof($contrArr)==1){
$controller = ucfirst($controller);
$access = $mod . $controller . ucfirst($this-&action-&id);
//验证访问页面地址是否在总是允许列表里面,是返回有权限
if (in_array($access, $this-&allowedAccess())) {
//验证SRBAC有无安装,没在安装,返回的权限访问
if (!Yii::app()-&getModule('srbac')-&isInstalled()) {
//验证SRBAC有无开启,没在开启,返回的权限访问
if (Yii::app()-&getModule('srbac')-&debug) {
// 权限验证
if (!Yii::app()-&user-&checkAccess($access) || Yii::app()-&user-&isGuest) {
$this-&onUnauthorizedAccess();
CDbAuthManager读取当前用户角色public function getAuthAssignments($userId)
$rows=$this-&db-&createCommand()
-&select()
-&from($this-&assignmentTable)
-&where('userid=:userid', array(':userid'=&$userId))
-&queryAll();
$assignments=array();
foreach($rows as $row)
if(($data=@unserialize($row['data']))===false)
$assignments[$row['itemname']]=new CAuthAssignment($this,$row['itemname'],$row['userid'],$row['bizrule'],$data);
CDbAuthManager读取角色对应权限public function getAuthItem($name)
$row=$this-&db-&createCommand()
-&select()
-&from($this-&itemTable)
-&where('name=:name', array(':name'=&$name))
-&queryRow();
if($row!==false)
if(($data=@unserialize($row['data']))===false)
return new CAuthItem($this,$row['name'],$row['type'],$row['description'],$row['bizrule'],$data);
CDbAuthManager读取权限对应操作
protected function checkAccessRecursive($itemName,$userId,$params,$assignments)
if(($item=$this-&getAuthItem($itemName))===null)
Yii::trace('Checking permission &'.$item-&getName().'&','system.web.auth.CDbAuthManager');
if(!isset($params['userId']))
$params['userId'] = $userId;
if($this-&executeBizRule($item-&getBizRule(),$params,$item-&getData()))
if(in_array($itemName,$this-&defaultRoles))
if(isset($assignments[$itemName]))
$assignment=$assignments[$itemName];
if($this-&executeBizRule($assignment-&getBizRule(),$params,$assignment-&getData()))
$parents=$this-&db-&createCommand()
-&select('parent')
-&from($this-&itemChildTable)
-&where('child=:name', array(':name'=&$itemName))
-&queryColumn();
foreach($parents as $parent)
if($this-&checkAccessRecursive($parent,$userId,$params,$assignments))
CAuthManager验证权限public function executeBizRule($bizRule,$params,$data)
return $bizRule==='' || $bizRule===null || ($this-&showErrors ? eval($bizRule)!=0 : @eval($bizRule)!=0);
总是充许访问规则设置
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:462589次
积分:4712
积分:4712
排名:第4869名
原创:96篇
评论:36条
(2)(1)(1)(3)(4)(9)(3)(10)(15)(12)(1)(11)(10)(17)有人知道Yii 怎么调用存储过程吗 - PHP当前位置:& &&&有人知道Yii 怎么调用存储过程吗有人知道Yii 怎么调用存储过程吗&&网友分享于:&&浏览:216次有人知道Yii 如何调用存储过程吗?Yii 有针对存储过程的方法吗?------解决方案--------------------
当然,可以啊。支持自定义的dao操作。不就意味着可以调用存储过程?PHP code
$command = Yii::app()-&db-&createCommand('call myproc(&yourname&)');
$command-&execute();
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有Yii扩展srbac配置
深圳和创致盟科技有限公司 - 领先互联网软件开发商
| 云办公(oa)、高端电子商务、WAP手机网站、ERP、客户关系(crm)、政企档案管理软件定制开发。
服务热线: 400-
Yii扩展srbac配置
下载 srbacSrbac 可以在如下地址下载:Yii 扩展页面: Google 项目页面: 也可以使用如下命令签出最新的开发代码:svn checkout /svn/trunk/ srbac-read-only 安装 srbac要安装 srbac 模块,首先解压压缩文件到Yii应用的模块目录,如果把srbac作为一个模块的话,就要在protected文件夹下新建一个文件夹modules,然后把解压得到的文件夹复制过来。然后编辑配置文件如下:在protected/config/main中首先应该有db的配置: 1 'db'=&array( 2
'connectionString' =& 'mysql:host=dbname=blog', 3
'emulatePrepare' =& true, 4
'username' =& 'root', 5
'password' =& 'guohao', 6
'charset' =& 'utf8', 7
'tablePrefix' =& 'tbl_', 8
), 9<span style="color:# 配置authManager组件:<span style="color:# 'authManager'=&array(<span style="color:#
'class'=&'CDbAuthManager',// Manager 的类型<span style="color:#
'connectionID'=&'db',//使用的数据库组件<span style="color:#
'itemTable'=&'items',// 授权项目表 (默认:authitem)<span style="color:#
'assignmentTable'=&'assignments',// 授权分配表 (默认:authassignment)<span style="color:#
'itemChildTable'=&'itemchildren',// 授权子项目表 (默认:authitemchild)<span style="color:# ),<span style="color:# items,assignments,itemchildren三个表的名字可随意改动。表结构请到framework/web/auth/schema.sql<span style="color:#<span style="color:# 'modules'=&array(<span style="color:#
'srbac' =& array(<span style="color:#
'userclass'=&'User', //可选,默认是 User<span style="color:#
'userid'=&'id', //可选,默认是 userid<span style="color:#
'username'=&'username', //可选,默认是 username<span style="color:#
'debug'=&true, //可选,默认是 false<span style="color:#
'pageSize'=&10, //可选,默认是 15<span style="color:#
'superUser' =&'Authority', //可选,默认是 Authorizer<span style="color:#
'css'=&'srbac.css', //可选,默认是 srbac.css<span style="color:#
'layout'=&<span style="color:#
'application.views.layouts.main', //可选,默认是<span style="color:# & & & & & & & & & & // application.views.layouts.main, 必须是一个存在的路径别名<span style="color:#
'notAuthorizedView'=&<span style="color:#
'srbac.views.authitem.unauthorized', // 可选,默认是unauthorized.php<span style="color:# & & & & & & & & & &//srbac.views.authitem.unauthorized, 必须是一个存在的路径别名<span style="color:#
'alwaysAllowed'=&array(
//可选,默认是 gui<span style="color:#
'SiteLogin','SiteLogout','SiteIndex','SiteAdmin',<span style="color:#
'SiteError', 'SiteContact'),<span style="color:#
'userActions'=&array(//可选,默认是空数组<span style="color:#
'Show','View','List'),<span style="color:#
'listBoxNumberOfLines' =& 15, //可选,默认是10<span style="color:#
'imagesPath' =& 'srbac.images', //可选,默认是 srbac.images<span style="color:#
'imagesPack'=&'noia', //可选,默认是 noia<span style="color:#
'iconText'=&true, //可选,默认是 false<span style="color:#
'header'=&'srbac.views.authitem.header', //可选,默认是<span style="color:# & & & & & & & & & & & & &// srbac.views.authitem.header, 必须是一个存在的路径别名<span style="color:#
'footer'=&'srbac.views.authitem.footer', //可选,默认是<span style="color:# & & & & & & & & & & & & &// srbac.views.authitem.footer, 必须是一个存在的路径别名<span style="color:#
'showHeader'=&true, //可选,默认是false<span style="color:#
'showFooter'=&true, //可选,默认是false<span style="color:#
'alwaysAllowedPath'=&'ponents', //可选,默认是 ponents<span style="color:# & & & & & & & & & & & & & & & & &// 必须是一个存在的路径别名<span style="color:# ),<span style="color:#<span style="color:# ),//srbac作为一个模块,所以要声明一下才能使用。查看srbac属性列表可以得到每个属性的详细信息。导入 SbaseController(for using the auto checking access feature):&#39;import&#39;=&array( & &&#39;application.modules.srbac.controllers.SBaseController&#39;,),这样就配置完了。接着你可以访问 进入安装页面后如果有变红的项目,说明你的配置有问题,请修改为正确的配置。然后点击安装。然后完成安装,显示成功后,你进入项目,找到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(); & & &// & & //} & & if($this-&module-&debug) { & & & & & } & & if( Yii::app()-&user-&checkAccess(Helper::findModule(&#39;srbac&#39;)-&superUser) || & & & !Helper::isAuthorizer()) { & & & & & } else { & & & parent::beforeAction($action); & & } &}因为这个地方判断每次都是新安装srbac。当你安装完成后,这里就没用了。可以注释掉了。再访问链接就可以看到管理界面了。}

我要回帖

更多关于 破解非好友微信朋友圈 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信