Иногда приходится расширять WebUser, чтобы добавить новый функционал class MyWebUser extends CWebUser { // Store model private $_user = null; protected function afterLogin($cookie) { $u = $this->model; if (!is_null($u)) { $u->fixLastVisit(); } } protected function afterLogout() { $this->_user = null; } public function getModel() { if ($this->_user===null && !Yii::app()->user->isGuest) { $this->_user=User::model()->findByPk(Yii::app()->user->id); $test = $this->_user->validateActive(); if (!$test) { $this->logout(); Yii::app()->request->redirect(Yii::app()->homeUrl,true); Yii::app()->end(); } } return $this->_user; } public function check($r='') { if (!Yii::app()->user->isGuest) return Yii::app()->user->model->check($r); return false; } } // class Подключается он в config.php, в секции components: 'user'=>array( 'class' => 'MyWebUser', // Cookie-based authentication 'allowAutoLogin'=>true, 'loginUrl'=>array('user/login'), ),
Yii Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor