VANHIEP.NET - Làm web giá rẻ - Thiết Kế Website - Thiết Kế Ứng Dụng Mobile
Hướng dẫn chi tiết middleware trong laravel

Hướng dẫn chi tiết middleware trong laravel

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

Bước 1 : Cài đặt middleware 

Để 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 

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

Bước 2 : Định danh cho 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

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

 

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

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

+ 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ướng dẫn cài đặt middleware trong laravel, Hướng dẫn chi tiết cách sử dụng middleware trong laravel

Hàm xử lý login trong file LoginController.php

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

Hàm kiểm tra session trong file CheckLogin.php

+ Bước 3 : Sử dụng middleware

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

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

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

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

Trong hàm index ta in ra dòng Đã đăng nhập để làm ví dụ

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

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

Hướng dẫn cài đặt middleware trong laravel, Hướng dẫn chi tiết cách sử dụng middleware trong laravelTrong file CheckLogin

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

Trong file view login ta kiểm tra session nếu có lỗi thì hiển thị lỗi

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

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

Download code

  • lê văn hiệp

    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.

  • lê văn hiệp

    Cras sit amet nibh libero, in gravida nulla.

  • lê văn hiệp

    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.

  • Lee Dong Chul

    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

  • Lee Dong Chul

    Donec lacinia congue felis in faucibus

  • Lee Dong Chul

    Cũng tạm