Laravel 12 Tippek & Trükkök Magyarul

Middleware

Mi az a middleware?

A middleware egy köztes réteg a kérések (request) és a válaszok (response) között a Laravelben. Olyan osztály, amely lehetővé teszi, hogy a bejövő HTTP kéréseket módosítani tudjuk vagy ellenőrizni, mielőtt elérnék a vezérlőket (controller), illetve hogy a válaszokat is módosítsuk, mielőtt azok visszatérnének a klienshez.

A middleware fájlok az app/Http/Middleware mappában találhatóak.

Mire jó?

  • Hitelesítés (Authentication) → pl. csak bejelentkezett felhasználók érhessék el az oldalt, vagy bizonyos oldalakat
  • Jogosultságkezelés (Authorization) → pl. admin jogosultság ellenőrzése
  • Naplózás (Logging) → kérések mentése naplóba
  • CORS kezelése → más domainről érkező kérések engedélyezése
  • IP cím ellenőrzése → például tiltott IP-k kiszűrése

Hogyan hozzunk létre middleware-t?

Middleware-t a php artisan paranccsal tudunk létrehozni.

php artisan make:middleware PeldaMiddleware

A létrejövő middleware fájl tartalma:

namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;

class AdminMiddleware
{
	/**
		* Handle an incoming request.
		*
		* @param  \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response)  $next
		*/
	public function handle(Request $request, Closure $next): Response
	{
		return $next($request);
	}
}

Példa