Middleware trong Laravel

Middleware là một trong những kiến thức không thể thiếu khi tìm hiểu về Laravel. Nó đóng vai trò xác thực người dùng đăng nhập vào hệ thống. Chẳng hạn chỉ Admin mới có quyền truy cập vào khu vực quản trị Admin đăng bài viết hay sửa xóa một cái gì đó.

middleware

Cách thức hoạt động của Middleware trong Laravel

Bộ lọc trung gian sẽ nằm giữa các request và phản hồi (response). Middleware sẽ nằm trong thư mục app/Http/Middleware.

Để hiểu rõ hơn bạn hãy thực hành ví dụ sau:

Bước 1: Tạo một tập tin là VerifyIfAdmin.php (Tại app/Http/Middleware)

<?php

namespace App\Http\Middleware;

use Closure;

class VerifyIfAdmin
{
    public function handle($request, Closure $next)  
        {    
        return $next($request);  
        }  
}

Bước 2: Thêm dòng lệnh này vào trong tập tin Kernel.php (Tại app/Http)

'admin' => \App\Http\Middleware\VerifyIfAdmin::class,

middleware-laravel

Bước 3: Tạo một tập tin là AdminController.php (Tại app\Http\Controllers)

<?php
 
 namespace App\Http\Controllers;
 
 use Illuminate\Http\Request;
 class AdminController extends Controller
 {
    public function index(){
 	return view('admin');
    }
    public function block(){
 	echo 'Bạn đã bị chặn';
    }
}
?>

Bước 4: Định tuyến routes bằng lệnh dưới trong file web.php

Route::get('login', 'App\Http\Controllers\[email protected]')->middleware('admin');

Bước 5: Tạo file admin.blade.php tại views

<h2>Khu vực Admin</h2>

Bước 6: Truy cập đường dẫn http://localhost/quachquynh/public/login bạn sẽ thấy xuất hiện một dòng chữ. Để chắc chắn bạn file Kernel.php xóa đoạn mã đã thêm ở bước 2 đi xem có gì xảy ra không.

Khi xóa đi rồi load lại URL ở trên sẽ thấy xuất hiện lỗi. Vậy là Middleware đã hoạt động rồi.

Trong những bài tiếp theo mình sẽ hướng dẫn bạn cách tạo một trang đăng nhập với quyền quản trị admin để vào hệ thống bằng cách sử dụng Middleware hãy chú ý để theo dõi nhé!

Cùng chủ đề

Chuyên mục:

Hãy để lại bình luận:

Mình rất vui khi bạn đã để lại một bình luận. Xin lưu ý rằng tất cả các bình luận đều được kiểm duyệt theo chính sách bảo mật và tất cả các liên kết đều là nofollow. KHÔNG sử dụng từ khóa trong trường tên. Hãy để lại một cuộc trò chuyện cá nhân và ý nghĩa. *