[Video] Hướng dẫn cài đặt dự án Laravel + Cài đặt chức năng Auth (login + register) trong Laravel
Mở bài
Trong thế giới lập trình web hiện nay, Laravel là framework PHP được yêu thích hàng đầu nhờ khả năng giúp lập trình viên xây dựng ứng dụng nhanh chóng, bảo mật và chuyên nghiệp. Không chỉ mang lại cú pháp trong sáng, Laravel còn tích hợp sẵn nhiều tính năng mạnh mẽ như Routing, Migration, ORM, Middleware, và đặc biệt là Authentication (xác thực người dùng) — nền tảng của hầu hết các ứng dụng web.
Bất kỳ hệ thống web nào, dù là blog, website thương mại điện tử hay trang quản trị doanh nghiệp, đều cần tính năng đăng ký, đăng nhập để quản lý người dùng. Nhờ Laravel, bạn không cần viết tay từ đầu — chỉ cần vài lệnh cơ bản, hệ thống Auth (Login + Register) đã sẵn sàng sử dụng với đầy đủ tính năng bảo mật, giao diện thân thiện và khả năng mở rộng cao.
Trong bài viết này, chúng ta sẽ đi từ cách cài đặt dự án Laravel, cấu hình môi trường làm việc, cho đến bật chức năng Auth có sẵn trong Laravel — giúp bạn triển khai tính năng đăng nhập, đăng ký chỉ trong vài phút.
Cài đặt môi trường và khởi tạo dự án Laravel
Để bắt đầu làm việc với Laravel, bạn cần chuẩn bị một môi trường đầy đủ bao gồm PHP, Composer và MySQL. Laravel sử dụng Composer để quản lý package, nên đây là công cụ bắt buộc.
1. Cài đặt PHP và Composer
Laravel yêu cầu PHP từ phiên bản 8.1 trở lên. Bạn có thể cài đặt thông qua:
-
XAMPP, WAMP, hoặc LAMPP: Gồm Apache, PHP, MySQL.
-
Composer: Dùng để cài đặt và quản lý Laravel.
Cài đặt Composer tại:
👉 https://getcomposer.org/download
Kiểm tra Composer:
2. Tạo dự án Laravel
Sau khi có Composer, tạo dự án mới:
Di chuyển vào thư mục dự án:
Chạy thử dự án:
Truy cập http://127.0.0.1:8000 để xem trang chào mừng Laravel.
Cấu hình cơ sở dữ liệu MySQL
Laravel sử dụng file .env để lưu thông tin cấu hình môi trường, bao gồm kết nối cơ sở dữ liệu.
1. Tạo database mới
Tạo cơ sở dữ liệu MySQL:
2. Cập nhật file .env
3. Chạy migrate
Laravel có sẵn các file migration cho bảng người dùng:
Khi chạy xong, các bảng users, password_resets, failed_jobs, personal_access_tokens sẽ được tạo tự động.
Bật chức năng Auth có sẵn trong Laravel
Từ Laravel 8 trở lên, chức năng Auth không còn được cài mặc định, nhưng Laravel đã hỗ trợ sẵn bộ cài nhanh chỉ với một vài lệnh đơn giản. Bạn có thể lựa chọn Laravel UI hoặc Laravel Breeze tùy nhu cầu.
1. Sử dụng Laravel UI (dành cho Blade và Bootstrap)
Nếu bạn muốn giao diện quen thuộc với Bootstrap, hãy dùng gói laravel/ui.
Bước 1: Cài đặt Laravel UI
Bước 2: Tạo Auth với giao diện Blade
Lệnh trên sẽ:
-
Tự động sinh ra các route, controller, view (login/register/reset password).
-
Cấu hình sẵn luồng xác thực người dùng.
-
Tích hợp giao diện Bootstrap thân thiện.
Bước 3: Cài đặt NPM và build giao diện
Bước 4: Chạy dự án
Sau đó truy cập các đường dẫn:
-
Đăng ký:
http://127.0.0.1:8000/register -
Đăng nhập:
http://127.0.0.1:8000/login
Bạn sẽ thấy giao diện Login/Register đầy đủ, được Laravel tự động sinh ra chỉ sau vài phút.
Cài đặt Auth bằng Laravel Breeze (hiện đại hơn)
Nếu bạn muốn trải nghiệm giao diện hiện đại, sử dụng Tailwind CSS, hãy chọn Laravel Breeze — đây là gói xác thực mặc định được khuyên dùng cho Laravel 10 và 11.
1. Cài đặt Laravel Breeze
2. Cài đặt các file xác thực
Bạn có thể chọn phiên bản giao diện:
-
Blade (mặc định)
-
React
-
Vue
-
Inertia.js
Ví dụ:
3. Cài đặt giao diện
4. Chạy migrate
5. Kiểm tra kết quả
Truy cập các route có sẵn:
-
/register— trang đăng ký tài khoản. -
/login— trang đăng nhập. -
/dashboard— chỉ truy cập được sau khi đăng nhập.
Laravel Breeze tự động tạo các route, controller, middleware và view cần thiết. Bạn không cần viết bất kỳ dòng code xác thực nào!
Giải thích cấu trúc Auth trong Laravel
Laravel tổ chức chức năng Auth rất khoa học. Dưới đây là những phần quan trọng bạn nên nắm:
1. Routes
Các route xác thực nằm trong routes/auth.php và được import vào web.php.
Ví dụ:
2. Controllers
Các controller điều khiển hành vi xác thực nằm tại:
-
RegisteredUserController.php: Xử lý đăng ký người dùng.
-
AuthenticatedSessionController.php: Xử lý đăng nhập/đăng xuất.
-
PasswordResetLinkController.php: Gửi email reset mật khẩu.
3. Model User
Laravel cung cấp sẵn model User trong app/Models/User.php.
Bạn có thể mở rộng thêm các trường như phone, address, role:
4. Middleware
Để bảo vệ route chỉ cho phép người dùng đăng nhập truy cập, bạn dùng middleware auth:
Nếu người dùng chưa đăng nhập, Laravel tự động chuyển hướng đến /login.
Tuỳ chỉnh giao diện Auth
Laravel Breeze và UI đều sử dụng Blade Template, cho phép bạn dễ dàng chỉnh sửa giao diện.
Ví dụ: chỉnh sửa trang login
File: resources/views/auth/login.blade.php
Gợi ý nâng cao UX
-
Thêm logo hoặc màu sắc thương hiệu.
-
Hiển thị lỗi xác thực ngay bên dưới ô nhập liệu.
-
Thêm remember me và quên mật khẩu.
Mở rộng chức năng Auth
Laravel hỗ trợ mở rộng hệ thống xác thực linh hoạt:
-
Reset mật khẩu: Tự động có sẵn trong Breeze/UI.
-
Xác minh email: Bật trong
config/auth.php. -
Phân quyền (Role & Permission):
-
Cài gói Spatie Laravel Permission.
-
-
Đăng nhập bằng Google, Facebook:
-
Cài thêm gói
laravel/socialite.
-
Ví dụ:
Một số lỗi thường gặp khi cài Auth
-
❌ Lỗi “Class not found”: Do chưa chạy
composer install. -
❌ Lỗi giao diện trắng: Chưa build lại bằng
npm run dev. -
❌ Lỗi database: Quên chạy
php artisan migrate. -
✅ Khắc phục nhanh:
-
Chạy
php artisan optimize:clear. -
Kiểm tra file
.env.
-
Kết luận
Chỉ với vài lệnh cơ bản, bạn đã có thể bật chức năng Auth (Login + Register) trong Laravel — hoàn chỉnh, bảo mật và chuyên nghiệp. Dù bạn chọn Laravel UI hay Breeze, cả hai đều giúp bạn tiết kiệm hàng giờ phát triển, đồng thời cung cấp nền tảng vững chắc cho các dự án web thực tế.
Qua bài viết này, bạn đã nắm được quy trình cài đặt dự án Laravel, kết nối cơ sở dữ liệu, bật Auth có sẵn, và hiểu sâu cấu trúc Auth trong hệ thống.
Laravel không chỉ giúp bạn viết code nhanh hơn — mà còn giúp bạn xây dựng sản phẩm có chất lượng cao, an toàn và dễ mở rộng.
Hãy mở terminal của bạn lên, chạy thử các lệnh đã học, và bắt đầu hành trình trở thành Laravel Developer chuyên nghiệp ngay hôm nay! 🚀