Cara Membuat Login di Laravel dengan Breeze

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

Ilustrasi Sistem Login di Laravel

Check Also

Migrasi Database dengan CodeIgniter 4

Migrasi Database dengan CodeIgniter 4 CodeIgniter 4 menyediakan fitur migrasi database untuk mengelola perubahan skema …

Verified by MonsterInsights