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

class VerifyIfAdmin
{

    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('admin-dashboard');
        }
        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’ là tên do bạn đặt.

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

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

Hoặc:

Route::group(['middleware' => 'admin'], function () {
Route::get('test', 'App\Http\Controllers\[email protected]')->name('test');
});

Đọc thêm: Route trong Laravel 8

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

<form>Form để đăng nhập</form>

Bước 6: Truy cập đường dẫn http://localhost/quachquynh/public/login để kiểm tra.

Trường hợp bạn đã đăng nhập rồi thì nó sẽ được chuyển hướng tới route admin-dashboard. Còn ngược lại sẽ chuyển hướng về trang đăng nhập.

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