Tạo bởi Trần Văn Điêp|
Học Laravel

[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:

composer -v

2. Tạo dự án Laravel

Sau khi có Composer, tạo dự án mới:

composer create-project laravel/laravel laravel-auth

Di chuyển vào thư mục dự án:

cd laravel-auth

Chạy thử dự án:

php artisan serve

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:

CREATE DATABASE laravel_auth;

2. Cập nhật file .env

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_auth DB_USERNAME=root DB_PASSWORD=

3. Chạy migrate

Laravel có sẵn các file migration cho bảng người dùng:

php artisan migrate

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

composer require laravel/ui

Bước 2: Tạo Auth với giao diện Blade

php artisan ui bootstrap --auth

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

npm install npm run dev

Bước 4: Chạy dự án

php artisan serve

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

composer require laravel/breeze --dev

2. Cài đặt các file xác thực

php artisan breeze:install

Bạn có thể chọn phiên bản giao diện:

  • Blade (mặc định)

  • React

  • Vue

  • Inertia.js

Ví dụ:

php artisan breeze:install blade

3. Cài đặt giao diện

npm install npm run dev

4. Chạy migrate

php artisan 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ụ:

Route::get('/register', [RegisteredUserController::class, 'create']) ->name('register'); Route::post('/register', [RegisteredUserController::class, 'store']); Route::get('/login', [AuthenticatedSessionController::class, 'create']) ->name('login'); Route::post('/login', [AuthenticatedSessionController::class, 'store']);

2. Controllers

Các controller điều khiển hành vi xác thực nằm tại:

app/Http/Controllers/Auth/
  • 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:

protected $fillable = [ 'name', 'email', 'password', ];

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:

Route::get('/dashboard', function () { return view('dashboard'); })->middleware(['auth'])->name('dashboard');

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

<h2>Chào mừng bạn quay lại!</h2> <form method="POST" action="{{ route('login') }}"> @csrf <input type="email" name="email" placeholder="Email" required> <input type="password" name="password" placeholder="Mật khẩu" required> <button type="submit">Đăng nhập</button> </form>

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 mequê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:

  1. Reset mật khẩu: Tự động có sẵn trong Breeze/UI.

  2. Xác minh email: Bật trong config/auth.php.

  3. Phân quyền (Role & Permission):

  4. Đăng nhập bằng Google, Facebook:

    • Cài thêm gói laravel/socialite.

Ví dụ:

composer require laravel/socialite

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! 🚀

Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó