
Jika kita amati bahwa secara default laravel 5.4 telah menyediakan sebuah authentikasi secara default namun ada kalanya kita butuh custom tentang login tersebut contohnya kita butuh custom ketika user login dicek dulu apakah user tersebut aktive atau sengaja diblock karena kebutuhan tertentu. Ada beberapa keuntungan yang kita dapat ketika menambah column is_active di column user.
Keuntungan nya.
1. Kita bisa menonaktifkan user mana aja yang tidak boleh login.
2. Dengan is_active maka data transaksi tidak hilang, beda dengan menghapus user.
Secara default schema user database/migrations/2014_10_12_000000_create_users_table.php
dengan isian schema seperti berikut ini :
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
Dari schema default diatas kita butuh modifikasi supaya fungsi user is_active bisa jalan dengan menambahkan column
is_active: boolean
Maka Schemanya akan menjadi seperti ini :
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->boolean('is_active')->default(1);
$table->rememberToken();
$table->timestamps();
});
}
Lalu jalankan migrate:refresh biar schemanya table user berubah.
$ php artisan migrate:refresh --seed
Tambahkan data user melalui menu register laravel supaya kita bisa test login usernya.
Setelah kita menambahkan user di register maka akan ada user baru dengan detail seperti yang saya cantumkan diatas, lalu untuk nextnya. kita coba lakukan disable user melalu console mysql.
update users set is_active=0 where id=1;
Selanjutnya kita harus mengoveride fungsi login yang ada di app/Http/Controllers/Auth/LoginController.php
dengan isian sebagai berikut :
Selanjutnya kita lakukan test dihalaman login maka ketika kita memasukan username dan password ada sebuah pesan bahwa account telah di disable.
Demikianlah artikel tentang user is_active, semoga bermanfaat jangan lupa follow my fanspage facebook.
Terimakasih.
Comments