2016-03-16 2 views
0

Как validatePassword() получает пароль пользователя?Как validatePassword() получает пароль пользователя?

Я не знаю, как validatePassword() получить пароль пользователя.

$password - Как добраться от пользователя присваивается пароль пользователя?

<?php 
namespace app\models; 

class User extends \yii\base\Object implements \yii\web\IdentityInterface 
{ 
    public $id; 
    public $username; 
    public $password; 
    public $authKey; 
    public $accessToken; 

    private static $users = [ 
     '100' => [ 
      'id' => '100', 
      'username' => 'admin', 
      'password' => 'admin', 
      'authKey' => 'test100key', 
      'accessToken' => '100-token', 
     ], 
     '101' => [ 
      'id' => '101', 
      'username' => 'demo', 
      'password' => 'demo', 
      'authKey' => 'test101key', 
      'accessToken' => '101-token', 
     ], 
    ]; 

    /** 
    * @inheritdoc 
    */ 
    public static function findIdentity($id) 
    { 
     return isset(self::$users[$id]) ? new static(self::$users[$id]) : null; 
    } 

    /** 
    * @inheritdoc 
    */ 
    public static function findIdentityByAccessToken($token, $type = null) 
    { 
     foreach (self::$users as $user) { 
      if ($user['accessToken'] === $token) { 
       return new static($user); 
      } 
     } 

     return null; 
    } 

    /** 
    * Finds user by username 
    * 
    * @param string  $username 
    * @return static|null 
    */ 
    public static function findByUsername($username) 
    { 
     foreach (self::$users as $user) { 
      if (strcasecmp($user['username'], $username) === 0) { 
       return new static($user); 
      } 
     } 

     return null; 
    } 

    /** 
    * @inheritdoc 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * @inheritdoc 
    */ 
    public function getAuthKey() 
    { 
     return $this->authKey; 
    } 

    /** 
    * @inheritdoc 
    */ 
    public function validateAuthKey($authKey) 
    { 
     Yii::info('Пароль validateAuthKey ----'.$authKey); 
     return $this->authKey === $authKey; 
    } 

    /** 
    * Validates password 
    * 
    * @param string $password password to validate 
    * @return boolean if password provided is valid for current user 
    */ 
    public function validatePassword($password) 
    { 
     return $this->password === $password; 
    } 
} 

ответ

0

Этот код, который вы показываете, представляет собой код модели User.php в базовом приложении шаблона. , как вы можете видеть на контроллер узла в действие Логин вызова $ model-> Логин()

public function actionLogin() 
{ 
    if (!\Yii::$app->user->isGuest) { 
     return $this->goHome(); 
    } 

    $model = new LoginForm(); 
    if ($model->load(Yii::$app->request->post()) && $model->login()) { // *** here 
     return $this->goBack(); 
    } 
    return $this->render('login', [ 
     'model' => $model, 
    ]); 
} 

($ модель получается новый LoginForm();).

в $ модельно> логин (псевдоним в LoginForm-> Логин()) у вас есть этот код

/** 
* Logs in a user using the provided username and password. 
* @return boolean whether the user is logged in successfully 
*/ 
public function login() 
{ 
    if ($this->validate()) { 
     return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600*24*30 : 0); 
    } 
    return false; 
} 

этот код выполнить вход

Смежные вопросы