簡體   English   中英

如何使用Yii :: app()-> User獲得密碼

[英]how to get password using Yii::app()->User

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

我得到了身份證號,

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

我收到以下錯誤:

CException CAssetManager.basePath“ / opt / local / www / projects / theuniversalgroup / app / webim / operator / assets”無效。 請確保該目錄存在並且可以被Web服務器進程寫入。

另外,我如何獲取用戶 密碼 ,以便可以使用它登錄Web應用程序。

如果要使用界面獲取用戶密碼

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);

如果我的理解是正確的,那么在這種情況下您可以創建應用程序的登錄,您可以使用類似的方式登錄您的應用程序,這是我設置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;
        }
}

提交登錄表單時,模型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 var_dump(Yii::app()->User->id); 我在您前面的另一篇文章中回答了如何獲取密碼。 如果要將密碼保存為用戶ID,則應使用$this->setState(); UserIdentity類中的方法。 有很多方法可以獲取或保存密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM