每次刷新未更新YII用户标识?
我有: 问题是,每次刷新页面时都需要更新此getBalance值。但它目前只在用户第一次登录时才这样做。如果用户被禁止,并且已经登录,我也会遇到同样的问题 我该怎么做?换句话说,我如何在用户每次重新加载页面时强制刷新存储的用户状态 以下是设置实际用户的代码: 公共函数身份验证() { 覆盖WebUser类中的每次刷新未更新YII用户标识?,yii,Yii,我有: 问题是,每次刷新页面时都需要更新此getBalance值。但它目前只在用户第一次登录时才这样做。如果用户被禁止,并且已经登录,我也会遇到同样的问题 我该怎么做?换句话说,我如何在用户每次重新加载页面时强制刷新存储的用户状态 以下是设置实际用户的代码: 公共函数身份验证() { 覆盖WebUser类中的init()函数。 比如: $api = new api(); $user = $api->getAccountDetailsByCellNr($this->username);
init()
函数。
比如:
$api = new api();
$user = $api->getAccountDetailsByCellNr($this->username);
if (empty($user)) {
$this->errorCode = self::ERROR_USERNAME_INVALID;
}
else {
if(!isset($this->username))
$this->errorCode = self::ERROR_USERNAME_INVALID;
else if($user->password !== md5($this->password) )
$this->errorCode = self::ERROR_PASSWORD_INVALID;
else {
$this->errorCode = self::ERROR_NONE;
$this->setState('balance', $user->balance);
}
}
您没有显示实际设置平衡的代码。这很重要。为什么不在会话中保持平衡并在主布局中更新它?webUser是在页面刷新时启动的?我不确定您的问题是什么意思?
$api = new api();
$user = $api->getAccountDetailsByCellNr($this->username);
if (empty($user)) {
$this->errorCode = self::ERROR_USERNAME_INVALID;
}
else {
if(!isset($this->username))
$this->errorCode = self::ERROR_USERNAME_INVALID;
else if($user->password !== md5($this->password) )
$this->errorCode = self::ERROR_PASSWORD_INVALID;
else {
$this->errorCode = self::ERROR_NONE;
$this->setState('balance', $user->balance);
}
}
class WebUser extends CWebUser {
...
public function init()
{
parent::init();
$user = $api->getAccountDetailsByCellNr($this->username);
$this->_balance = $user->balance;
}
}