我想知道为什么当我使用var_dump(Yii::app()->User->id);
我得到身份证号码,
当我使用var_dump(Yii::app()->User->password);
我收到以下错误:
CExceptionCAssetManager.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);
如果我的理解是正确的,您正在尝试为您的应用程序创建登录名,在这种情况下,您可以使用这样的东西来登录您的应用程序,这就是我设置用户身份的方式.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。
请检查以下文件:
- 登录.php [受保护/查看/登录.php] LoginForm.php
- [protected/models/LoginForm.php]
- 站点控制器.php [protected/controllers/SiteController.php]
- UseIdentity.php [protected/components/SiteController.php]
因此,当您尝试时,您会找到登录的用户 ID var_dump(Yii::app()->User->id);
.我之前在你另一篇帖子中回答了如何获取密码。如果要将密码另存为用户 ID,则应在 UserIdentity 类中使用$this->setState();
方法。 有许多方法可以获取或持有密码。