Hướng dẫn cài đặt middleware trong laravel, Hướng dẫn chi tiết cách sử dụng middleware trong laravel
Để cài đặt middleware ta chạy lệnh sau
php artisan make:middleware middleware_name
Ví dụ ta tạo middleware có tên là CheckLogin, sau khi chạy lệnh thì file CheckLogin.php sẽ được tạo tự động trong thư mục App\Http\Middleware
+ Mở file Kernel.php trong thư mục App\Http .Tại mục $routeMiddleware ta thêm dòng CheckLogin như hình
Lưu ý : Để sử dụng được session trong laravel ta cần phải mở file App\Config\session.php
Chuyển expire_on_close từ false thành true
+ Lúc này trong hàm hàm xử lý login ta tạo ra 1 session có key là email. Khi ứng dụng chạy vào hàm thì session được khởi tạo.
+ Trong file CheckLogin.php ta kiểm tra điều kiện nếu tồn tại session đã khai báo thì cho chạy tiếp còn không sẽ chuyển hướng trở lại trang login
Hàm xử lý login trong file LoginController.php
Hàm kiểm tra session trong file CheckLogin.php
Ta sử dụng middleware ở route, chỗ nào cần kiểm tra đăng nhập thì ta gắn điều kiện middleware như hình dưới
Lúc này ta tạo 1 controller admin để làm ví dụ, Khi truy cập vào route /admin ứng dụng sẽ chạy qua hàm middleware, nếu thỏa mã điều kiện là tồn tại session như chúng ta khai báo ở bước 2 thì sẽ chạy tiếp vào hàm index trong AdminController
Trong hàm index ta in ra dòng Đã đăng nhập để làm ví dụ
Trình duyệt sẽ in ra dòng như trên
+ Để chuyên nghiệp hơp thì trong file CheckLogin ta sẽ return về route login kèm theo 1 session và hiển thị lỗi chưa đăng nhập ở trang login
Trong file CheckLogin
Trong file view login ta kiểm tra session nếu có lỗi thì hiển thị lỗi
Kết quả như hinh
Tổng kết : Bài viết này mình đã hướng dẫn chi tiết cách cài đặt middleware, cách định danh midleware, cách khai bào middleware trong route, cách viết hàm kiểm tra trong file middleware và cách trả về lỗi nếu không thỏa mãn điều kiện middleware, cách hiển thị lỗi middleware trả về trên file view. chúc bạn thành công
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
Cras sit amet nibh libero, in gravida nulla.
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus
Donec lacinia congue felis in faucibus
Cũng tạm