Yii 保存 登录用户信息
class UserIdentity extends CUserIdentity{ public $user; public function authenticate() { $this->errorCode=self::ERROR_PASSWORD_INVALID; $user=Member::model()->findByAttributes(array('userid'=>CHtml::encode($this->username))); if ($user) { if ($user->passwd === md5($this->password)) { $this->errorCode=self::ERROR_NONE; $this->setUser($user); } } unset($user); return !$this->errorCode; } public function getUser() { return $this->user; } public function setUser(CActiveRecord $user) { $this->user=$user->attributes; } }?然后创建:protected/components/WebUser.php?继承CWebUser类
class WebUser extends CWebUser{ public function __get($name) { if ($this->hasState('__userInfo')) { $user=$this->getState('__userInfo',array()); if (isset($user[$name])) { return $user[$name]; } } return parent::__get($name); } public function login($identity, $duration=0) { $this->setState('__userInfo', $identity->getUser()); parent::login($identity, $duration); }}?最后修改下配置文件main.php
'user'=>array( //user(用户)组件配置,“user”为组件ID 'class'=>'WebUser',//使用WebUser类 // 可以使用基于cookie 的认证 'allowAutoLogin'=>true,//允许自动登录 'stateKeyPrefix'=>'zgsx', //session前缀 ),?接下来重新登录就可以用Yii::app()->user->字段名,用户表的所有的字段哦!