如何使用Yii :: app() - >用户获取密码

时间:2013-11-11 11:52:25

标签: php yii

我想知道为什么当我使用var_dump(Yii::app()->User->id);

我收到 id 号码

当我使用var_dump(Yii::app()->User->password);

我收到以下错误:

了CException CAssetManager.basePath“/ opt / local / www / projects / theuniversalgroup / app / webim / operator / assets”无效。请确保该目录存在且可由Web服务器进程写入。

另外,如何获取用户密码,以便我可以使用它登录网络应用。

3 个答案:

答案 0 :(得分:1)

如果您想使用界面

获取用户密码
var_dump(Yii::app()->user->password);

使用此方法,然后您需要添加基本组件文件UserIdentity.php

common/components/base/UserIdentity.php 


   public function getId() {
        return $this->id;
    }


    public function getName() {
        return $this->username;
    }




   public function getPassword() {
        return $this->password;
    }

在此更改后,您将能够使用以下方法使用密码:

var_dump(Yii::app()->user->password);

答案 1 :(得分:0)

如果我的理解是正确的,你试图为你的应用创建一个登录,在这种情况下,你可以使用这样的东西登录你的应用程序,这就是我如何设置我的userIdentity.php;

    class UserIdentity extends CUserIdentity
{
        private $_id;


    public function authenticate()
    {
            $username = strtolower($this->username);
            $user = User::model()->find('LOWER(user_name)=?',array($username));
            if($user===null)
                    $this->errorCode=self::ERROR_USERNAME_INVALID;
            else if(!$user->validatePassword($this->password))
                    $this->errorCode=self::ERROR_PASSWORD_INVALID;
            else{
                $this->_id = $user->id_user;
                $this->username=$user->user_name;
                $this->errorCode=self::ERROR_NONE;
                $user->updateLoginDate();
            }
            return $this->errorCode==self::ERROR_NONE;
    }

        public function getId()
        {
            return $this->_id;
        }
}

答案 2 :(得分:0)

提交登录表单时,模型LoginForm.php [protected / models / LoginForm.php]实例化UseIdentity.php [protected / components / SiteController.php]类以检查用户和密码。如果登录信息正确,则UseIdentity类将保存用户ID。

请检查以下文件:

  • login.php [protected / views / login.php]
  • LoginForm.php [protected / models / LoginForm.php]
  • SiteController.php [protected / controllers / SiteController.php]
  • UseIdentity.php [protected / components / SiteController.php]

因此,当您尝试var_dump(Yii::app()->User->id);时,您会找到登录的用户ID。我之前在你的另一篇文章中回答了如何获取密码。如果您想将密码保存为用户ID,则应在UserIdentity类中使用$this->setState();方法。有很多方法可以获取或保存密码。