我想知道为什么当我使用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服务器进程写入。
另外,如何获取用户的密码,以便我可以使用它登录网络应用。
答案 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。
请检查以下文件:
因此,当您尝试var_dump(Yii::app()->User->id);
时,您会找到登录的用户ID。我之前在你的另一篇文章中回答了如何获取密码。如果您想将密码保存为用户ID,则应在UserIdentity类中使用$this->setState();
方法。有很多方法可以获取或保存密码。