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