Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial Laravel #26: Login dan Register dengan Laravel

 

 

Sistem autentikasi (login, register, reset password) adalah fitur krusial di hampir setiap aplikasi web modern. Namun, membangunnya dari nol bisa memakan waktu dan rentan terhadap kesalahan keamanan. Untungnya, Laravel menyediakan solusi autentikasi bawaan yang canggih, aman, dan sangat mudah diimplementasikan.

Pada tutorial ini, kita akan belajar cara cepat membangun sistem login dan register menggunakan Laravel Breeze, paket autentikasi resmi dari Laravel yang paling direkomendasikan untuk proyek baru.


 

1. Persiapan Awal

 

Sebelum memulai, pastikan kamu sudah memiliki instalasi Laravel yang bersih dan koneksi ke database.

  1. Buat proyek Laravel baru (jika belum ada):
    Bash

    composer create-project laravel/laravel auth-app
    cd auth-app
    
  2. Konfigurasi database di file .env. Pastikan DB_DATABASE, DB_USERNAME, dan DB_PASSWORD sudah benar.

 

2. Instalasi Laravel Breeze

 

Laravel Breeze adalah paket minimalis yang menyediakan semua scaffolding (kerangka kerja) autentikasi dasar, termasuk view, controller, dan routes, yang siap digunakan.

Jalankan perintah berikut di terminal:

Bash

composer require laravel/breeze --dev

Perintah ini akan menginstal paket Breeze ke dalam proyek kamu.

 

3. Menggunakan Scaffolding Breeze

 

Setelah paket terinstal, jalankan perintah artisan untuk memasang scaffolding-nya. Kamu akan diberi pilihan antara Blade, React, Vue, atau Livewire. Untuk tutorial ini, kita akan memilih Blade karena paling sederhana dan langsung bekerja.

Bash

php artisan breeze:install

Saat muncul prompt, ketik 0 atau tekan Enter untuk memilih Blade.

Setelah instalasi selesai, kamu perlu menjalankan perintah npm untuk mengompilasi aset front-end yang dibutuhkan (seperti CSS dan JavaScript).

Bash

npm install
npm run dev

Terakhir, jalankan migrasi database untuk membuat tabel yang diperlukan, seperti tabel users dan password_reset_tokens.

Bash

php artisan migrate

Sekarang, sistem autentikasi sudah siap!


 

4. Menjelajahi Hasil Instalasi

 

Setelah Breeze terinstal, ada beberapa file dan direktori baru di proyek kamu.

  • Controllers:
    • Breeze menambahkan direktori app/Http/Controllers/Auth. Di dalamnya terdapat controller seperti RegisteredUserController dan AuthenticatedSessionController yang menangani logika register dan login.
  • Views:
    • Direktori resources/views/auth berisi semua file Blade untuk halaman login, register, reset password, dan lain-lain.
    • Breeze juga menyediakan layout dasar di resources/views/layouts (guest.blade.php dan app.blade.php).
  • Routes:
    • Sebuah file baru routes/auth.php ditambahkan dan berisi semua route autentikasi (login, register, logout, dll.). File routes/web.php sekarang akan mengimpor file ini.
  • Middleware:
    • Dua middleware penting adalah auth dan guest.
      • auth: Digunakan untuk melindungi route, hanya bisa diakses oleh pengguna yang sudah login.
      • guest: Digunakan untuk route yang hanya bisa diakses oleh pengguna yang belum login (misalnya halaman login dan register itu sendiri).

 

5. Menggunakan Sistem Autentikasi

 

Sekarang, kunjungi proyek kamu di browser. Kamu akan melihat tautan Login dan Register di pojok kanan atas.

  • Akses halaman register di http://127.0.0.1:8000/register untuk membuat akun baru.
  • Akses halaman login di http://127.0.0.1:8000/login untuk masuk ke akun.

Setelah berhasil login, kamu akan otomatis dialihkan ke halaman /dashboard.

Untuk membuat halaman yang hanya bisa diakses oleh pengguna yang sudah login, kamu bisa menggunakan middleware('auth') pada route.

PHP

// di file routes/web.php

use Illuminate\Support\Facades\Route;

// Route ini bisa diakses siapa saja
Route::get('/', function () {
    return view('welcome');
});

// Route ini hanya bisa diakses setelah login
Route::get('/dashboard', function () {
    return "Selamat datang di halaman dashboard!";
})->middleware('auth');

 

Kesimpulan

 

Dengan Laravel Breeze, kamu bisa menyiapkan sistem autentikasi yang aman dan lengkap hanya dalam beberapa menit. Kamu tidak perlu lagi khawatir tentang keamanan password atau validasi data register, karena semuanya sudah diurus oleh Laravel. Setelah sistemnya terinstal, kamu bebas memodifikasi tampilan (views) dan menambahkan logika tambahan sesuai kebutuhan aplikasi kamu.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_q0o3sbq0o3sbq0o3
Gemini_Generated_Image_mem6cgmem6cgmem6
Gemini_Generated_Image_ust09gust09gust0
Gemini_Generated_Image_d8a5kwd8a5kwd8a5

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek