Laravel User Is Aktive Laravel 5.4

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.

form-register-laravel

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 :

ovveride-login-laravel

Selanjutnya kita lakukan test dihalaman login maka ketika kita memasukan username dan password ada sebuah pesan bahwa account telah di disable.

account-has-been-disabled

Demikianlah artikel tentang user is_active, semoga bermanfaat jangan lupa follow my fanspage facebook.

Terimakasih.

 

Related Articles

Comments