Umumnya pada setiap pekerjaan atau proyek aplikasi
web akan membutuhkan authentifikasi pengguna / sistem login sebelum dapat mengakses fitur aplikasi selain untuk alasan keamanan juga. Tutorial kali ini saya akan membahas bagaimana cara mengaktifkan modul authentifikasi
default laravel, cukup dengan beberapa perintah, laravel sudah menyediakan mulai dari login akun pengguna, pendaftaran akun pengguna, sampai dengan fitur untuk mereset password jika lupa dan mengirim email untuk mendapatkan token untuk reset password. Kita akan melanjutkan
project social yang sebelumnya sudah kita buat, untuk cara instalasi dan membuat
project laravel bisa lihat di postingan saya sebelumnya
hello laravel.
Konfigurasi Database
Langkah pertama adalah membuat database baru, laravel mendukung beberapa database diantaranya SQLite, MySQL, PostgreSQL dan SQL Server. Untuk tutorial ini saya menggunakan database MySQL. Buat database baru di PhpMyAdmin atau console, nama database terserah, saya membuatnya dengan nama social_db.
|
Membuat Database Baru di MySQL |
Setelah database dibuat, langkah selanjutnya adalah konfigurasi database di laravel. Buka project social di IDE kesayangan anda. Buka file .env di root project, sesuaikan konfigurasi database anda.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=social_db
DB_USERNAME=adit
DB_PASSWORD=adit
Untuk dapat melihat konfigurasi
database secara lengkap ada di file
config/database.php
Migration
Secara default, laravel menyediakan 2 file schema database dapat di lihat di direktori/folder database/migrations, schema database gampangnya adalah blueprint dari pembuatan table pada database. Migration pada laravel adalah proses mengubah / migrasi dari schema menjadi tabel-tabel database. Kita akan migrasikan 2 schema : create_users_table dan create_password_resets_table.
- Buka terminal / command prompt dan ubah ke direktori atau folder root project social
- Jalankan perintah : php artisan migrate
|
Migrasi Schema ke Database |
- Lihat hasil migrate, pastikan semua migrasi berjalan sukses, jika sukses periksa database social_db, tabel-tabel dari proses migrasi berhasil dibuat.
|
Table berhasil di buat |
Jika muncul error "
Specified key was too long; max key length is 767 bytes", berarti versi MySQL anda di bawah 5.7, laravel versi 5.4 mengubah
default collationnya menjadi utf8mb4, karena di versi ini
support untuk emoji
which is membutuhkan karakter string lebih banyak. Cara mengatasinya, buka file
AppServiceProvider.php yang terletak pada direktori
app/Providers, kemudian modifikasi seperti berikut :
<?php
...
use Illuminate\Support\Facades\Schema;
...
public function boot(){
Schema::defaultStringLength(191);
}
Generate Auth Scaffolding
Setelah tabel-tabel database selesai dibuat, kita akan mengenerate auth scaffolding bawaan laravel, laravel akan mengenerate Controller, Route, Model, dan View secara otomatis.
- Buka terminal / command prompt dan ubah ke direktori atau folder root project social
- Jalankan perintah : php artisan make:auth
|
Generate Auth Scaffolding |
- Jika berhasil, aplikasi bisa langsung di test.
Testing
- Buka terminal / command prompt dan ubah ke direktori atau folder root project social
- Jalankan perintah : php artisan serve untuk menjalankan server lokal pada port 8000
- Buka browser ketikkan alamat http://localhost:8000 atau http://127.0.0.1:8000.
Screenshots
|
Landing Page |
|
Login |
|
Homepage setelah login |
|
Register |
Download source code
- Source code artikel ini dapat di download di github.
0 Komentar