<?php namespace app\models; use Yii; use yii\db\ActiveRecord; use yii\web\IdentityInterface; class User extends ActiveRecord implements IdentityInterface { public static function tableName() { return '{{%user}}'; } public function rules() { return [ [['login', 'pass', 'auth_key'], 'required'], [['name', 'pass'], 'safe'], [['terminal_id'], 'string', 'min' => 1, 'max' => 32], [['name', 'login', 'pass'], 'string'], [['login'], 'unique'], ]; } /** * Finds user by username * * @param string $username * @return static|null */ public static function findByLogin($login) { return static::findOne(['login' => $login]); } /** * {@inheritdoc} */ public function getId() { return $this->id; } public static function findById($id) { return static::findOne($id); } /** * {@inheritdoc} */ public function getAuthKey() { return $this->auth_key; } /** * {@inheritdoc} */ public function validateAuthKey($authKey) { return $this->auth_key === $authKey; } /** * {@inheritdoc} */ public static function findIdentity($id) { return static::findOne($id); } /** * {@inheritdoc} */ public static function findIdentityByAccessToken($token, $type = null) { return null; } /** * Validates password * * @param string $password password to validate * @return bool if password provided is valid for current user */ public function validatePassword($password) { return Yii::$app->getSecurity()->validatePassword($password, $this->pass); } }