mumunotes

  • Home
  • Contact Us

Saturday, 6 June 2015

Membuat login Yii2 dengan Database

 mumunotesss     09:25     Yii, Yii2     No comments   


Selamat pagi guys. Sorry beberapa hari kamaren sibuk. Jadi belum sempet update blog lagi. Mumpung kali ini sempet, hari ini mau berbagi tentang cara login ke aplikasi Yii2 dengan user dari database.
Kemaren sudah ada penjelas mengenai penggunaan database yaitu menampilkan data dari database ke aplikasi Yii2. Langsung saja guys, kita mulai membuat login aplikasi Yii2 dari user yang ada di database.

Membuat Table Login.

Kemaren kita sudah membuat database "yii2basic". Daripada kita buat database lagi, mending pake yang itu saja. Sekarang kita tinggal membuat table login.
Untuk membuat table login, Teman2 bisa mengikuti query berikut :
create table login(
    id int AUTO_INCREMENT,
    username varchar(30),
    password varchar(50),
    authKey varchar(50),
    accessToken varchar(50),
    role varchar(10),
    primary key(id)
 );
insert into login values (
    '',
    'mursit',
    'bismillah',
    'mursit-12345',
    'mumu2937412912zzzz',
    'Admin'
);
Jika Teman2 belum tahu cara koneksi ke database, anda bisa klik disini untuk melihat caranya.
Setelah itu kita membuat Model untuk table tersebut dengan menggunakan generator Yii2. Untuk masuk halaman generator anda tidak perlu melakukan konfigurasi lagi. Karena secara default sudah diaktifkan. Untuk mengaksesnya buka browser dan masukkan url berikut "http://localhost/yii2basic/web/index.php?r=gii".


Untuk cara penggunaan teman2 bisa mengikuti langkah berikut :
  1.  Klik button start pada Model Generator
  2. Halaman Model Generator.  
  3. Masukkan nama tabel dan nama model yang akan digenerate.
  4. Kemudian klik button preview yang berada di bawah form generate.Kemudian klik button generate.
   
Sekarang model table login sudah tergenerate. Anda bisa mengecek di folder "yii2basic/models"

Selanjutnya kita membuat kodingnya untuk login dengan database. Silahkan teman2 buka file pada direktori "models/User.php".
Untuk kode programnya bisa mengikuti script di bawah : 
namespace app\models;
use app\models\Login; //mendifinisikan model class Login yang telah kita generate tadi.

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


    public static function findIdentity($id)
    {
        //mencari user login berdasarkan IDnya dan hanya dicari 1.
        $user = Login::findOne($id);
        if(count($user)){
            return new static($user);
        }
        return null;
    }

    public static function findIdentityByAccessToken($token, $type = null)
    {
        //mencari user login berdasarkan accessToken dan hanya dicari 1.
        $user = Login::find()->where(['accessToken'=>$token])->one();
        if(count($user)){
            return new static($user);
        }
        return null;
    }

    public static function findByUsername($username)
    {
        //mencari user login berdasarkan username dan hanya dicari 1.
        $user = Login::find()->where(['username'=>$username])->one();
        if(count($user)){
            return new static($user);
        }
        return null;
    }

    public function getId()
    {
        return $this->id;
    }

    public function getAuthKey()
    {
        return $this->authKey;
    }

    public function validateAuthKey($authKey)
    {
        return $this->authKey === $authKey;
    }

    public function validatePassword($password)
    {
        return $this->password === $password;
    }
}
Sekarang kita trial aplikasinya buat login dengan user yang kita buat tadi.
Silahkan teman2 masuk halaman login.
Ini yang terjadi jika username atau password kita tidak sesuai yang ada di dalam table login.

Kita coba dengan username dan password yang sesuai dengan data yang ada pada tabel login.

Dan hasilnya kita sukses login dengan menggunakan data yang ada pada database.

Sekain bagi2 ilmu pada pagi hari ini. Semoga bermanfaat buat teman2 yang baru belajar Yii2. See you later...:D
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

About Me

mumunotesss
View my complete profile

Popular Posts

  • Change password with validation and repeat password on Yii2
    Hello everybody. I could not post an article because I didn't have new knowledge to share. Ok, this day I will share about "...
  • Import Data from CSV File to Database Without Extension in Yii2
    Hello everybody, Assalamualaikum Wr. Wb. Nearly 1 month I don't publish article. Now, I publish an article about " Import Data fro...
  • Membuat login Yii2 dengan Database
    Selamat pagi guys. Sorry beberapa hari kamaren sibuk. Jadi belum sempet update blog lagi. Mumpung kali ini sempet, hari ini mau berbagi te...
  • Membuat fungsi CRUD dengan Gii Yii2
    Selamat pagi guys. Setelah kemaren kita membuat login dari database, hari ini kita akan membuat CRUD (create, read, update, delete) dengan ...

Blog Archive

  • ▼  2015 (16)
    • ►  November (1)
    • ►  September (1)
    • ►  August (1)
    • ▼  June (8)
      • Upload File or Image on Yii2
      • Implementation google reCAPTCHA on Yii2 Applicati...
      • Implementation Captcha on Yii2
      • Change password with validation and repeat passwor...
      • Membuat Alert atau Notifikasi di Yii2
      • ACF (Access Control Filter) Yii2 dengan Role dari ...
      • Membuat fungsi CRUD dengan Gii Yii2
      • Membuat login Yii2 dengan Database
    • ►  May (5)

Translate

Copyright © mumunotes
Distributed By My Blogger Themes | Blogger Theme By NewBloggerThemes