Cara Membuat Login di Laravel
Laravel menyediakan sistem autentikasi yang kuat dan mudah digunakan. Dengan menggunakan fitur bawaan seperti scaffolding autentikasi, Anda dapat dengan cepat membuat sistem login yang aman untuk aplikasi Anda. Artikel ini menjelaskan langkah-langkah membuat login di Laravel.
1. Instalasi Laravel
Pastikan Anda sudah menginstal Laravel. Jika belum, Anda dapat menginstalnya dengan perintah berikut:
composer create-project laravel/laravel nama-proyek
2. Instalasi Paket Laravel Breeze
Laravel Breeze adalah starter kit autentikasi yang menyediakan semua fitur dasar seperti login, registrasi, dan logout. Instal Laravel Breeze dengan perintah berikut:
composer require laravel/breeze --dev
php artisan breeze:install
npm install && npm run dev
php artisan migrate
Penjelasan:
composer require laravel/breeze --dev
: Menginstal Laravel Breeze.php artisan breeze:install
: Mengatur scaffolding autentikasi.npm install && npm run dev
: Mengelola aset frontend.php artisan migrate
: Menjalankan migrasi untuk tabel autentikasi.
3. Menjalankan Aplikasi
Jalankan aplikasi Laravel Anda menggunakan perintah berikut:
php artisan serve
Buka browser dan akses http://127.0.0.1:8000/login
. Anda akan melihat halaman login yang sudah disiapkan oleh Laravel Breeze.
4. Penyesuaian Halaman Login
Anda dapat menyesuaikan tampilan halaman login di file resources/views/auth/login.blade.php
.
<x-guest-layout>
<x-auth-card>
<!-- Form Login -->
<form method="POST" action="{{ route('login') }}">
@csrf
<!-- Email -->
<div>
<x-label for="email" :value="__('Email')" />
<x-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus />
</div>
<!-- Password -->
<div class="mt-4">
<x-label for="password" :value="__('Password')" />
<x-input id="password" class="block mt-1 w-full" type="password" name="password" required autocomplete="current-password" />
</div>
<!-- Remember Me -->
<div class="block mt-4">
<label for="remember_me" class="inline-flex items-center">
<input id="remember_me" type="checkbox" class="rounded border-gray-300 text-indigo-600 shadow-sm focus:ring focus:ring-indigo-200 focus:ring-opacity-50" name="remember">
<span class="ml-2 text-sm text-gray-600">{{ __('Remember me') }}</span>
</label>
</div>
<div class="flex items-center justify-end mt-4">
<x-button class="ml-4">
{{ __('Log in') }}
</x-button>
</div>
</form>
</x-auth-card>
</x-guest-layout>
5. Menambahkan Middleware untuk Halaman Terproteksi
Gunakan middleware auth
untuk melindungi halaman tertentu. Contoh: tambahkan middleware ke rute di file routes/web.php
.
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth'])->name('dashboard');
6. Menambahkan Validasi Custom
Anda dapat menambahkan validasi tambahan di file app/Http/Controllers/Auth/AuthenticatedSessionController.php
.
protected function validateLogin(Request $request) {
$request->validate([
'email' => 'required|email',
'password' => 'required|min:8',
]);
}
7. Menambahkan Logout
Logout dapat dilakukan dengan mudah menggunakan metode logout
pada controller.
Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])->name('logout');
Kesimpulan
Dengan Laravel Breeze, Anda dapat membuat sistem login dengan mudah dan cepat. Anda juga dapat menyesuaikan halaman, validasi, dan middleware sesuai kebutuhan aplikasi Anda. Laravel memastikan sistem autentikasi yang aman dan modern untuk aplikasi web Anda.
Gambar: Ilustrasi Login di Laravel