yii2修改默认demo中登录模块连接数据库

巴扎黑
Lepaskan: 2016-11-11 10:46:34
asal
1123 orang telah melayarinya

Php代码  

<?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 = [  
        &#39;100&#39; => [  
            &#39;id&#39; => &#39;100&#39;,  
            &#39;username&#39; => &#39;admin&#39;,  
            &#39;password&#39; => &#39;admin&#39;,  
            &#39;authKey&#39; => &#39;test100key&#39;,  
            &#39;accessToken&#39; => &#39;100-token&#39;,  
        ],  
    ];  
  
    /** 
     * @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[&#39;accessToken&#39;] === $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[&#39;username&#39;], $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)  
    {  
        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;  
    }  
}
Salin selepas log masuk

改为如下代码即可

Php代码

<?php  
  
namespace app\models;  
  
use Yii;  
  
class User extends \yii\db\ActiveRecord implements \yii\web\IdentityInterface  
{  
    public $id;  
    public $username;  
    public $password;  
    public $authKey;  
    public $accessToken;  
  
    static private $AUTH_KEY = "authkey_test"; //remember me need this  
    static private $ACCESS_TOKEN = "accesstoken_test"; // remember me need this  
  
    public static function tableName()  
    {  
        return &#39;tb_admin&#39;;  
    }  
  
    /** 
     * @return \yii\db\Connection the database connection used by this AR class. 
     */  
    public static function getDb()  
    {  
        return Yii::$app->get(&#39;db_admin&#39;);  
    }  
  
    /** 
     * Finds user by username 
     * 
     * @param  string      $username 
     * @return static|null 
     */  
    public static function findByUsername($username)  
    {  
    $user = User::find()->where([&#39;username&#39;=>$username])->asArray()->one();  
    if(isset($user)){  
            $user[&#39;authKey&#39;] = self::$AUTH_KEY;  
            $user[&#39;accessToken&#39;] = self::$ACCESS_TOKEN;  
    }  
    return isset($user) ? new static($user) : null;  
    }  
  
    /** 
     * 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;  
    }  
  
    /** 
     * @inheritdoc 
     */  
    public function getId()  
    {  
        return $this->id;  
    }  
  
    /** 
     * @inheritdoc 
     */  
    public function getAuthKey()  
    {  
        return $this->authKey;  
    }  
  
    /** 
     * @inheritdoc 
     */  
    public static function findIdentity($id)  
    {  
    $user = User::find()->where([&#39;id&#39;=>$id])->asArray()->one();  
    if(isset($user)){  
            $user[&#39;authKey&#39;] = self::$AUTH_KEY;  
            $user[&#39;accessToken&#39;] = self::$ACCESS_TOKEN;  
    }  
    return isset($user) ? new static($user) : null;  
    }  
  
    /** 
     * @inheritdoc 
     */  
    public static function findIdentityByAccessToken($token, $type = null)  
    {  
    return null;  
    }  
  
    /** 
     * @inheritdoc 
     */  
    public function validateAuthKey($authKey)  
    {  
        return $this->authKey === $authKey;  
    }  
}
Salin selepas log masuk


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!