Laravel Breeze hoặc Jetstream – Xác thực người dùng
Laravel cung cấp sẵn các gói scaffolding để triển khai hệ thống xác thực người dùng (Authentication) nhanh chóng. Trong bài học này, học viên sẽ học cách tích hợp Laravel Breeze hoặc Laravel Jetstream, bao gồm chức năng đăng ký, đăng nhập, đăng xuất và thiết lập giao diện cơ bản để bắt đầu xây dựng một hệ thống có người dùng.

1 So sánh Breeze và Jetstream
Đặc điểm | Breeze | Jetstream |
---|---|---|
Giao diện | Đơn giản, Blade | Tailwind + Livewire/Inertia |
Tính năng | Basic Auth | Auth, Team, 2FA, API, Profile |
Mục tiêu | Học tập, tùy chỉnh dễ dàng | Ứng dụng thực tế phức tạp |
Trong bài này, ta sử dụng Laravel Breeze để đơn giản hóa việc học và dễ mở rộng sau này.
2 Cài đặt Laravel Breeze
composer require laravel/breeze --dev
php artisan breeze:install
npm install && npm run dev
php artisan migrate
Sau khi cài đặt:
- Laravel tạo sẵn các route
/login
,/register
,/dashboard
, ... - Tạo sẵn view, controller, middleware, session.
3 Cấu trúc thư mục sau khi cài đặt
-
routes/web.php
: chứa các route xác thực. -
resources/views/auth
: chứa các view liên quan đến đăng ký, đăng nhập. -
app/Http/Controllers/Auth
: chứa các controller xử lý logic xác thực. -
app/Models/User.php
: model người dùng.
4 Đăng ký & đăng nhập
Giao diện /register
<form method="POST" action="{{ route('register') }}">
@csrf
<input name="name" type="text">
<input name="email" type="email">
<input name="password" type="password">
<input name="password_confirmation" type="password">
<button>Đăng ký</button>
</form>
Giao diện /login
<form method="POST" action="{{ route('login') }}">
@csrf
<input name="email" type="email">
<input name="password" type="password">
<button>Đăng nhập</button>
</form>
Khi đăng nhập thành công, Laravel tự động điều hướng đến
/dashboard
.
5 Đăng xuất và bảo vệ route
Đăng xuất:
<form method="POST" action="{{ route('logout') }}">
@csrf
<button>Đăng xuất</button>
</form>
Bảo vệ route:
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', function () {
return view('dashboard');
});
});
Laravel tự động chuyển hướng người dùng chưa đăng nhập về trang
/login
.
6 Xác thực bằng middleware auth
- Laravel có middleware
auth
để kiểm tra nếu người dùng đã đăng nhập. - Nếu chưa, sẽ redirect về
login
.
Ví dụ:
Route::get('/profile', function () {
// Chỉ người dùng đã đăng nhập mới xem được
})->middleware('auth');
Ví dụ cụ thể
- Cài đặt Laravel Breeze và chạy
php artisan migrate
- Truy cập các trang:
/register
,/login
,/dashboard
- Thử đăng nhập bằng tài khoản đã đăng ký
- Tạo route
/profile
và bảo vệ bằngauth
middleware - Thêm nút đăng xuất trên
dashboard.blade.php
Bài tập thực hành
- Cài Laravel Breeze, tạo project xác thực người dùng hoàn chỉnh.
- Tạo trang
/profile
hiển thị thông tin người dùng hiện tại (name, email). - Thêm logic logout và redirect về trang login sau khi đăng xuất.
Kết luận
- Laravel Breeze là cách đơn giản và nhanh chóng để triển khai xác thực người dùng.
- Học viên đã nắm được cách đăng ký, đăng nhập, đăng xuất và bảo vệ route bằng middleware.
- Bài học này là nền tảng cho việc triển khai hệ thống phân quyền, quản trị, và API có xác thực.

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.
Xem thêm

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.
Liên hệ công việc qua email dưới đây.
lhvuctu@gmail.com