关于role角色验证的问题请教 [ 新手入门 ]
问题是这样的: 1、我定义了一个role,通过createrole定义了一个admin的role 2、然后assign了一个用户admin2到这个role上 3、然后在某个controller里面修改accessRules如下
public function accessRules()
{
return array(
array('allow',
'actions'=>array('index','view', 'admin','delete','create','update'),
'roles'=>array('admin'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
问题出来了,使用用户admin2登陆之后,这个校验不通过。 访问controller始终显示: Error 403 You are not authorized to perform this action.
手动写了一些如下的测试代码:
Yii::app()->user->checkAccess('admin')
也返回false。
请各位大大看看问题出在哪里。
几个相关的数据表中的信息如下: AuthAssignment表中: [attach]517[/attach]
AuthItem表中: [attach]518[/attach]
共 5 条回复
-
everysheng 回复于 2011-12-04 12:20 举报
我决定去单步调试下。。。
-
everysheng 回复于 2011-12-05 19:25 举报
调试了一下。
原来是checkaccess的时候,yii传入的参数是user->getid。而我重载了这个getid,返回的是ID,而非默认的username了。
但是我assign的时候,确实按照username来做的,于是出现问题。
-
chenkelang90120 回复于 2012-05-29 13:53 举报
路过!学习了:lol
everysheng
注册时间:2011-11-30
最后登录:1970-01-01
在线时长:0小时0分
最后登录:1970-01-01
在线时长:0小时0分
- 粉丝0
- 金钱40
- 威望0
- 积分40