Middleware | Laravel | Hướng Dẫn Học | Học Web Chuẩn
Có thể bạn quan tâm
Tạo Middleware kiểm tra đăng nhập
- Ta sẽ tạo một Middleware với các điều kiện lọc riêng để kiểm tra: nếu đăng nhập bằng [email protected] thì sẽ cho xem nội dung, ngược lại nếu đăng nhập bằng username khác thì sẽ redirect trả về trang /home, nếu chưa đăng nhập thì trả về trang /login.
- Trước tiên tạo file Middleware bằng cách mở cửa sổ lệnh cmd, di chuyển tới thư mục myproject bằng lệnh:

TẠO MIDDLEWARE BẰNG LỆNH ARTISAN
php artisan make:middleware CheckLogin- php artisan - Công cụ hỗ trợ viết command line tích hợp sẵn trong Laravel, sẽ còn gặp lại nhiều.
- make:middleware - Lệnh tạo Middleware.
- CheckLogin - Tên Middleware do mình tự đặt.
Dòng lệnh trên thực thi sẽ cho ta kết quả sau:

- Sau khi thực thi lệnh, chúng ta sẽ nhận được thông báo file Middleware đã được tạo "Middleware created successfully.".
- File Middleware CheckLogin.php vừa tạo sẽ được lưu tại thư mục /app/Http/Middleware/, có nội dung như sau:
- Việc chúng ta cần quan tâm là nội dung bên trong function handle.
- Viết lại function handle trên, với điều kiện xử lý việc đăng nhập:
- use Illuminate\Support\Facades\Auth; Khai báo sử dụng Facades Auth.
-
Nhìn vào câu điều kiện If bên trên, nếu thỏa mãn điều kiện sau thì yêu cầu sẽ được thực thi tiếp (Khi này Routing sẽ làm việc và yêu cầu sẽ trả về trang admin):
- Auth::check() - đăng nhập.
- Và Auth::user()->email == "[email protected]" - user có email là [email protected]
- Ngược lại nếu không thỏa mãn điều kiện trên, sẽ redirect trả kết quả về trang /home.
KHAI BÁO MIDDLEWARE VÀO ROUTING
- Để Middleware hoạt động, ta cần khai báo Middleware vào /app/Http/Kernel.php
- checklogin: tên sẽ được sử dụng.
- \App\Http\Middleware\CheckLogin: đường dẫn tới file CheckLogin.
- Khi này ta có thể sử dụng được Middleware CheckLogin vừa tạo.
SỬ DỤNG MIDDLEWARE
- Chúng ta sẽ tiến hành sử dụng Middleware CheckLogin vừa tạo bằng cách viết trong file Routing /routes/web.php:
- Chú ý là tên checklogin sẽ trùng với trên khai báo trong Kernel.php
-
Tới đây ta đã tạo và khai báo sử dụng Middleware CheckLogin thành công, test bằng cách tạo nhiều user khác nhau tại trang http://localhost:82/register, trong đó có một user có email đăng nhập là [email protected], sau đó lần lượt login và chạy trang http://localhost:82/admin để xem kết quả:
-
Nếu login bằng [email protected], và mở trang http://localhost:82/admin, thì sẽ thấy nội dung:
Đây là trang Admin -
Nếu login bằng username với email khác, và mở trang http://localhost:82/admin, thì kết quả sẽ trả về trang /home

-
Nếu chưa login, và mở trang http://localhost:82/admin, thì kết quả sẽ trả về trang /login

-
Từ khóa » Sử Dụng Middleware Trong Laravel
-
Tìm Hiểu Về Middleware Trong Laravel - Viblo
-
Middleware Trong Laravel - Viblo
-
Middleware Trong Laravel 8
-
Middleware Là Gì? Tìm Hiểu Về Middleware Và Tự Tạo Middleware
-
Bài 14: Middleware Trong Laravel - Học Lập Trình Laravel - VnCoder
-
Middleware Trong Laravel 8
-
Middleware Trong Laravel - Tìm Hiểu Qua Ví Dụ Thực Tế
-
Middleware Trong Laravel - Quách Quỳnh
-
Middleware Là Gì? Tại Sao Phải Sử Dụng Nó? - Học Laravel
-
Middleware Trong Laravel - Blog Văn Long
-
Middleware Trong Laravel - W3seokiến Thức Cơ Bản Trong Laravel
-
Cách Tạo Middleware Trong Laravel 7 - SonWeb
-
Bài 6: Tìm Hiểu Về Middleware Trong Laravel
-
Laravel Cơ Bản đến Nâng Cao Phần 2 : Middleware Laravel