请问如何让YII存储用户其他信息?

刚看BLOG教程中对于用户信息认证之后,用户信息存储的代码。

对这里产生了一些疑问。

第一,用户信息存放在哪?如果在SESSION中,请问YII中有方法读取SESSION吗?还是需要用PHP自身的函数去读取?

第二,用户信息存储只会存储USERNAME与ID,请问如何让YII存储用户的PWD和其他信息呢?

【这里我有试过魔术方法,似乎行不通…】

第三,Yii::app()->user 这个类的GETXXX方法是写死的还是动态的?也就是说例如用户表有N个字段,那么直接可以使用 GETXXX字段的相应名称的FUNCTION 去读取信息?

诚心求教,问题也许很基础,请知道的朋友给予指点。

刚看到个方法,可以用 SETSTATE()这个FUNCTION 去存储一些信息。

请问如果不使用这个方法可以让YII自动保存PWD么?

YII自动保存PWD,怎么理解,可以说说嘛?

你可以参考components/UserIdentity.php中




    public function authenticate()

    {

        $username=strtolower($this->username);

        $user=Users::model()->find('LOWER(username)=? AND userStatus=1',array($username));

        if($user===null)

            $this->errorCode=self::ERROR_USERNAME_INVALID;

        else if(md5($this->password)!==$user->password)

            $this->errorCode=self::ERROR_PASSWORD_INVALID;

        else

        {

            $this->_id=$user->id;

            $this->username=$user->username;

            $this->setState('blogId',$user->blogs->id);//类似这样子,那每次用户登录就都会记录了

            $this->errorCode=self::ERROR_NONE;

        }

        return !$this->errorCode;

    }



之后就可以使用 Yii::app()->user->blogId来访问了