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 users yang sudah disediakan oleh laravel untuk membuat fitur login dengan field name, email, serta password. Saat pertama kali melakukan instalasi laravel
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).

Kemudian kita akan memanfaatkan model user bawaan laravel yang ada pada folder App/Models/User dengan nama file User.php. Model Laravel ini adalah komponen dalam arsitektur Model-View-Controller (MVC) yang bertanggung jawab untuk berinteraksi dengan database aplikasi.
Anda dapat untuk menyesuaikan seperti gambar berikut pada baris protected $fillable, Fungsi dari models ini adalah untuk melindungi database dari pengisian data yang tidak diinginkan.
Step 2. Membuat controller Login
Dalam Laravel controller bertugas untuk menangani permintaan yang dilakukan oleh user pada sisi front-end. Controller ini bertanggung jawab untuk menerima dan memproses permintaan dari pengguna.
Dalam sesi ini controller login digunakan untuk melakukan proses data dengan menampilkan tampilan view form login, serta menentukan tindakan proses login yang berjalan. 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 user inputkan nantinya. Jangan lupa menambahkan berikut pada baris atas bagian controllernya:
use Illuminate\Support\Facades\Auth;
use App\Models\User;Fungsi use Illuminate\Support\Facades\Auth; ini bertujuan untuk melakukan operasi terkait otentikasi pengguna seperti login logout dan lainnya.
Serta untuk use App\Models\User; mengimpor kelas model User yang mewakili tabel users di database, berfungsi sebagai jembatan untuk berinteraksi dengan data pengguna.

Step 4. Menjalankan Migrate data yang sudah dibuat
Migrate data ini bertujuan untuk mengirimkan data dari migration yang sudah kita buat sebelumnya ke dalam database.
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/bootstrap@5.3.0/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!






