Pengantar
Sistem autentikasi adalah salah satu bagian penting dalam membangun aplikasi web yang aman. Sistem autentikasi berfungsi untuk memvalidasi identitas pengguna yang mencoba mengakses aplikasi web. Dalam Laravel, terdapat fitur bawaan yang dapat digunakan untuk membangun sistem autentikasi dengan mudah.
Contoh
Sebagai contoh, kita akan membangun sistem autentikasi sederhana untuk aplikasi web yang berisi halaman login dan halaman pendaftaran.
Permasalahan
Salah satu permasalahan yang sering dihadapi dalam membangun sistem autentikasi adalah keamanan. Sistem autentikasi harus dirancang dengan baik agar tidak mudah diretas. Selain itu, sistem autentikasi juga harus mudah digunakan oleh pengguna.
Solusi
Untuk mengatasi permasalahan keamanan, kita dapat menggunakan fitur bawaan Laravel yang disebut sebagai "bcrypt". Fitur ini akan mengenkripsi password pengguna sehingga tidak dapat dibaca oleh orang lain. Selain itu, kita juga dapat menggunakan fitur "throttle" untuk membatasi jumlah percobaan login yang gagal.
Untuk mengatasi permasalahan kemudahan penggunaan, kita dapat menggunakan fitur bawaan Laravel yang disebut sebagai "Scaffolding". Fitur ini akan membantu kita untuk membuat formulir login dan pendaftaran dengan mudah.
Langkah-langkah membuat sistem autentikasi dengan Laravel
- Instal Laravel
Jika Anda belum menginstal Laravel, Anda dapat melakukannya dengan mengikuti langkah-langkah berikut:
composer global require laravel/installer
Setelah Laravel terinstal, Anda dapat membuat proyek Laravel baru dengan perintah berikut:
laravel new my-app
- Aktifkan autentikasi
Untuk mengaktifkan autentikasi, Anda perlu menambahkan baris berikut ke file config/app.php
:
'providers' => [
// ...
Illuminate\Auth\AuthServiceProvider::class,
// ...
],
'aliases' => [
// ...
'Auth' => Illuminate\Support\Facades\Auth::class,
// ...
],
- Buat tabel pengguna
Selanjutnya, Anda perlu membuat tabel pengguna dengan perintah berikut:
php artisan make:auth
Perintah ini akan membuat tabel pengguna dan migrasi yang diperlukan.
- Isi tabel pengguna
Sekarang, Anda perlu mengisi tabel pengguna dengan data. Anda dapat melakukannya dengan perintah berikut:
php artisan tinker
Dalam shell tinker, Anda dapat menjalankan perintah berikut:
DB::table('users')->insert([
'name' => 'John Doe',
'email' => '[email protected]',
'password' => bcrypt('secret'),
]);
- Buat formulir login dan pendaftaran
Setelah tabel pengguna diisi, Anda dapat membuat formulir login dan pendaftaran. Anda dapat menggunakan fitur scaffolding Laravel untuk membuat formulir ini.
Untuk membuat formulir login, Anda dapat menjalankan perintah berikut:
php artisan make:auth:login
Perintah ini akan membuat file resources/views/auth/login.blade.php
.
Untuk membuat formulir pendaftaran, Anda dapat menjalankan perintah berikut:
php artisan make:auth:register
Perintah ini akan membuat file resources/views/auth/register.blade.php
.
- Tambahkan route login dan pendaftaran
Setelah formulir login dan pendaftaran dibuat, Anda perlu menambahkan route login dan pendaftaran ke file routes/web.php
.
Route::get('/login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('/login', 'Auth\LoginController@login');
Route::get('/register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('/register', 'Auth\RegisterController@register');
- Jalankan aplikasi
Setelah semua langkah di atas selesai, Anda dapat menjalankan aplikasi dengan perintah berikut:
php artisan serve
Sekarang, Anda dapat mengakses halaman login dan pendaftaran aplikasi Anda dengan mengunjungi alamat berikut: