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;
use Illuminate\Support\Facades\Auth;

class VerifyIfAdmin
{

    public function handle($request, Closure $next)
    {
        $user = $request->user();

        if (! $user) {
            return redirect('login');
        }

        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) Nếu bị trường bạn hãy thay admin bằng tên khác

'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');
    }
}
?>

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

Route::get('test', '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 thêm:

Cùng chủ đề

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. *