0

我想知道为什么当我使用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 服务器进程写入。

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

4

3 回答 3

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);
于 2016-08-08T13:09:55.167 回答
0

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

请检查以下文件:

  • login.php [受保护/视图/login.php]
  • LoginForm.php [受保护/models/LoginForm.php]
  • SiteController.php [受保护/控制器/SiteController.php]
  • UseIdentity.php [受保护/组件/SiteController.php]

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

于 2013-11-11T15:35:27.283 回答
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;
        }
}
于 2013-11-11T14:44:48.360 回答