Pada seri belajar Laravel bagian 12, kita telah belajar tentang bagaimana membuat fitur pencarian di Laravel. Dalam sesi belajar Laravel bagian ke 13 ini, kita akan belajar tentang bagaimana cara membuat fitur login di Laravel.
Sebelum mengikuti panduan ini, pastikan Anda telah mengikuti sesi belajar laravel sebelumnya agar Anda bisa mengikuti panduan ini.
Fitur Login di Laravel
Fitur login memungkinkan user untuk masuk ke website Anda menggunakan kredensial yang telah didaftarkan. Nantinya, pengguna bisa dikelompokkan berdasarkan peran atau klasifikasi tertentu.
Namun, dalam sesi belajar ini, kita belum akan membahas pengelompokan berdasarkan peran. Sebagai langkah awal, kita akan fokus pada cara membuat fitur login sederhana terlebih dahulu.
Membuat Fitur Login di Laravel
Berikut adalah step by step cara membuat fitur login di Laravel:
Step 1. Membuat model dan migration data
Langkah pertama, kita akan menggunakan model dan migration data yang sudah disediakan oleh laravel untuk membuat fitur login dengan field name, email, serta password.
Struktur migration table user yang ada pada folder database/migration dengan nama file berikut ****_**_**_*****_create_users_table.php (tanda * sesuai dengan nama file yang ada pada komputer Anda).

Struktur Models yang ada pada folder App/Models/User dengan nama file berikut: User.php
.
Step 2. Membuat controller Login
Untuk dapat membuat controller, Anda dapat untuk menjalankan perintah berikut:
php artisan make:controller LoginController

Step 3. Membuat isi dari controller login
Langkah selanjutnya, kita akan membuat function view untuk menampilkan formlogin yang akan kita buat. Berikut adalah contohnya:
Step kedua, kita membuat login function untuk memproses data dari email dan password yang pengguna inputkan nantinya. Jangan lupa menambahkan berikut:
use Illuminate\Support\Facades\Auth;
use App\Models\User;
Pada bagian atas sebelum class LoginController.

Step 4. Menjalankan Migrate data yang sudah dibuat
Untuk dapat menjalankan migrate data yang sudah dibuat sebelumnya, kita dapat menjalankan perintah beriktu:
php artisan migrate

Step 5. Menambahkan Route untuk login
Di dalam file routes/web.php, tambahkan route untuk menampilkan form login dan untuk memproses login.

Step 6. Membuat seeder data user
Selanjutnya, kita akan membuat seeder data user yang sudah disediakan oleh Laravel saat awal dengan menggunakan DatabaseSeeder
yang ada pada folder database/DatabaseSeeder dengan isi sebagai berikut:
Kemudian, kita jalankan perintah php artisan db:seed –class=DatabaseSeeder untuk mengirimkan data ke database.
Step 7. Membuat tampilan view formlogin
Pada step ini, kita akan membuat tampilan view formlogin yang akan dipakai untuk menginputkan email dan password untuk loginnya. Berikut contoh skrip yang bisa Anda gunakan:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container d-flex justify-content-center align-items-center vh-100">
<div class="card p-4 shadow" style="width: 400px;">
<h3 class="text-center">Login</h3>
<form ac…ss="mb-3">
<label for="password" class="form-label">Password</label>
<input type="password" name="password" class="form-control" id="password" required>
@error('password')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<button type="submit" class="btn btn-primary w-100">Login</button>
</form>
</div>
</div>
</body>
</html>
Langkah terakhir, anda dapat menjalankan laravel dengan perintah berikut dan coba akses kembali link website Anda untuk pengujian.
Setelah kita menginputkan email dan password yang valid, selanjutnya kita akan diarahkan ke halaman /berita sesuai controller sebelumnya pada baris berikut:
if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
return redirect()->intended('/berita');
}

Anda juga dapat menyesuaikan controller login, sehingga setelah user login dapat diarahkan ke halaman tertentu sesuai dengan kebutuhan website Anda.
Penutup
Fitur login di Laravel memungkinkan pengguna mengakses sistem dengan kredensial yang valid (email dan password). Prosesnya melibatkan validasi input, pengecekan kredensial dengan Auth::attempt()
, serta pengelolaan sesi pengguna. Jika login berhasil, pengguna diarahkan ke halaman yang sesuai, sementara jika gagal, akan dikembalikan ke tampilan awal formlogin.
Demikian artikel belajar laravel bagian 13 tentang cara membuat fitur login di Laravel. Pada seri belajar laravel selanjutnya, kita akan melanjutkan pembahasannya dengan membuat fitur logout di Laravel. Jangan sampai terlewatkan ya!