[英]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。
請檢查以下文件:
因此,當您嘗試使用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.