Yii 虽然管理员已访问,但用户访问级别错误403
我想设置一个用户访问级别,但我遇到了一个问题,id_level=1的管理员仍然无法访问指定的页面。 这里有EWebUser.phpYii 虽然管理员已访问,但用户访问级别错误403,yii,Yii,我想设置一个用户访问级别,但我遇到了一个问题,id_level=1的管理员仍然无法访问指定的页面。 这里有EWebUser.php <?php class EWebUser extends CWebUser{ protected $_model; protected function loadUser() { if ( $this->_model === null ) { $this->_model = User::model()->f
<?php
class EWebUser extends CWebUser{
protected $_model;
protected function loadUser()
{
if ( $this->_model === null ) {
$this->_model = User::model()->findByPk($this->id);
}
return $this->_model;
}
function getLevel()
{
$user=$this->loadUser();
if($user)
return $user->id_level;
return 100;
}
}
?>
下面是UserController.php中的accessRules方法
public function accessRules()
{
return array(
.......
array('allow', // allow admin user to perform 'admin' and 'delete' actions
'actions'=>array('index','admin','delete'),
//'users'=>array('admin'),
'expression'=>'$user->getLevel()<=1',
),
.......
);
}
我无法访问localhost/myappname/user.php,它会抛出错误403,尽管我以管理员id_level=1的身份登录。
我计算出$this->_model=User::model->findByPk$this->id,我对$this->id\u user进行了更改,因为在我的模型中,主键是id\u user而不是id,但它引发了另一个错误:未定义属性EWebUser.id\u user。谁能帮我解决这个问题?提前感谢..[SOLVED]我自己更改了$this->\u id=$user->username;到$this->\u id=$user->id\u user;在UserIdentity.php中,$this->_model=User::model->findByPk$this->id上没有错误代码;因为实际的问题在于用户身份