Yii框架未检查accessRules中的角色
我在Yii框架中创建了一些管理面板,我在登录时设置了如下状态Yii框架未检查accessRules中的角色,yii,setstate,Yii,Setstate,我在Yii框架中创建了一些管理面板,我在登录时设置了如下状态 public function authenticate() { $record=AdminTbl::model()->findByAttributes(array('usr'=>$this->username)); if($record===null) $this->errorCode=self::ERROR_USERNAME_INVALID; else if($re
public function authenticate()
{
$record=AdminTbl::model()->findByAttributes(array('usr'=>$this->username));
if($record===null)
$this->errorCode=self::ERROR_USERNAME_INVALID;
else if($record->pwd!==$this->password)
$this->errorCode=self::ERROR_PASSWORD_INVALID;
else
{
$this->_id=$record->id;
$this->setState('roles','main');
$this->errorCode=self::ERROR_NONE;
}
return !$this->errorCode;
}
我检查了状态是否真的设置好了,并在视图中进行了回应。后来,我将该角色放在accessrules()中
我无法访问此用户登录的页面。有什么问题吗?看看这里
您需要创建主角色并通过用户id分配它。如果您需要简单的基于角色的访问控制,而不需要长时间的RBAC过程,那么本文只适合您
在文档中未对此进行解释。
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view','create','update','admin','delete'),
'roles'=>array('main'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}