현재 위치: > 최신 기사 목록> Laravel Middleware에 대한 자세한 설명 : 분석 원칙 및 실용 기술 가이드

Laravel Middleware에 대한 자세한 설명 : 분석 원칙 및 실용 기술 가이드

M66 2025-08-07

Laravel 미들웨어 개요

Laravel Framework에서 Middleware는 HTTP 요청을 처리하는 프로세스의 중요한 부분이며 종종 인증, 권한 점검, 로깅 및 요청 수정과 같은 기능에 사용됩니다. 요청을 가로 채고 처리하는 유연하고 우아한 방법을 제공하여 응용 프로그램의 논리를 더 명확하고 구조화합니다.

미들웨어의 작동 메커니즘

Laravel의 미들웨어는 앱/http/미들웨어 디렉토리에 있으며 Artisan 명령을 통해 또는 수동으로 만들 수 있습니다. 미들웨어는 본질적으로 요청을 받고 응답을 반환하는 클래스입니다. 핵심 함수는 핸들 () 이며 요청 객체와 클로저를 수락합니다. 논리를 처리 한 후에는 요청이 전달되거나 응답으로 직접 반환됩니다.

HTTP 요청이 응용 프로그램에 도달하면 시스템은 미들웨어 등록 순서에 따라 각 미들웨어를 순서대로 실행합니다. 미들웨어가 응답을 반환하면 후속 처리 프로세스가 중단되고 결과는 클라이언트에게 직접 반환됩니다.

글로벌 및 라우팅 미들웨어를 등록하십시오

미들웨어 등록은 글로벌 등록 및 라우팅 등록의 두 가지 방법으로 나뉩니다. 글로벌 미들웨어는 모든 요청에 따라 작용하며 앱/http/kernel.php 파일의 $ 미들웨어 속성에 정의됩니다.

 protected $middleware = [
    \App\Http\Middleware\CheckToken::class,
];

미들웨어가 특정 경로에서만 행동하기를 원한다면 $ lourmiddleware를 사용하여 등록 할 수 있습니다.

 protected $routeMiddleware = [
    'checkRole' => \App\Http\Middleware\CheckRole::class,
];

그런 다음 경로에서 미들웨어 방법을 참조하십시오.

 Route::get('/admin', function () {
    // 백엔드 페이지
})->middleware('checkRole');

미들웨어의 실행 순서

미들웨어가 실행되는 순서는 등록 명령에 따라 다릅니다. 글로벌 미들웨어는 배열 순서대로 실행되며 라우팅 미들웨어는 경로 정의에서 배열 순서대로 실행됩니다. PHP Artisan Route : List를 사용하여 미들웨어 사용을 볼 수 있습니다.

미들웨어 그룹화

여러 경로가 동일한 미들웨어 수집을 공유하면 그룹화를 통해 관리를 단순화 할 수 있습니다. 예를 들어:

 Route::group(['middleware' => 'admin'], function () {
    // 모든 배경 경로
});

현재 그룹의 모든 경로는 관리 미들웨어를 자동으로로드합니다.

실제 예 : 인증 미들웨어를 만듭니다

다음은 미들웨어의 특정 응용 프로그램을 보여주는 인증 예입니다.

1. 미들웨어 만들기 :

 php artisan make:middleware Authenticate

2. 미들웨어 논리 작성 :

 <?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class Authenticate
{
    public function handle(Request $request, Closure $next)
    {
        $token = $request->header('Authorization');

        if ($token != 'secret_token') {
            return response()->json(['error' => 'Unauthorized'], 401);
        }

        return $next($request);
    }
}

3. 미들웨어 등록 :

 protected $middleware = [
    \App\Http\Middleware\Authenticate::class,
];

4. 라우팅에 적용 : :

 Route::get('/api', function () {
    // 보호 된 인터페이스
})->middleware('auth');

이 미들웨어는 요청 헤더의 인증 필드를 확인합니다. 사전 설정 토큰이 일치하지 않으면 401 오류를 직접 반환합니다. 그렇지 않으면 요청이 계속 처리됩니다.

요약

Laravel Middleware는 개발자에게 HTTP 요청을 가로 채고 처리 할 수있는 강력하고 유연한 방법을 제공합니다. 미들웨어를 합리적으로 사용하면 컨트롤러 로직을 단순화 할 수 있으며 시스템 보안 및 유지 관리 가능성을 향상시킬 수 있습니다. 미들웨어의 원칙과 응용 기술을 마스터하면보다 강력한 웹 응용 프로그램을 구축하는 데 도움이됩니다.