현재 위치: > 최신 기사 목록> Laravel Middleware는 사용자 액세스 권한 및 역할 관리를 구현합니다. 자습서 및 모범 사례

Laravel Middleware는 사용자 액세스 권한 및 역할 관리를 구현합니다. 자습서 및 모범 사례

M66 2025-06-26

소개

웹 애플리케이션을 개발할 때는 사용자 액세스 권한 및 역할을 관리하는 것이 응용 프로그램 보안을 보장하는 중요한 단계입니다. Laravel의 미들웨어는 응용 프로그램의 권한과 역할을 제어 할 수있는 간단하고 유연한 방법을 제공합니다. 이 기사에서는 예제를 통해 Laravel Middleware를 사용하여 액세스 제어 및 역할 관리를 구현하는 방법을 보여줍니다.

1. 미들웨어 란 무엇입니까?

미들웨어는 라벨 프레임 워크에서 중요한 기능으로, 라우팅 처리에 도달하기 전에 또는 응답 반환 전에 요청을 처리하는 데 사용됩니다. Laravel에서 미들웨어를 사용하여 사용자의 신원을 확인하고 사용자의 권한 및 기타 작업을 확인하여 응용 프로그램의 보안을 보장 할 수 있습니다.

2. 미들웨어 및 응용 프로그램의 승인 관리

실제 개발에서는 다른 사용자의 액세스 권한을 관리하여 승인 된 컨텐츠에만 액세스 할 수 있도록해야합니다. Laravel Middleware는 강력한 권한 관리 메커니즘을 제공합니다.

미들웨어를 만듭니다

먼저 사용자의 권한을 확인하기 위해 미들웨어를 작성해야합니다. 다음 명령을 사용하여 미들웨어를 만들 수 있습니다.
PHP Artisan Make : 미들웨어 checkpermission
이 명령은`app/http/middleware '디렉토리에서`checkpermission.php`라는 파일을 만듭니다.

권한 검증 로직을 구현하십시오

다음으로`checkpermission.php` 파일의 '핸들'메소드에 권한 검증에 대한 논리를 씁니다. 예를 들어, 다음 코드는 사용자에게 'admin'권한이 있는지 확인하는 방법을 보여줍니다.
<?php
namespace App\Http\Middleware;

use Closure;

class CheckPermission
{
    public function handle($request, Closure $next)
    {
        // 사용자 권한을 확인하십시오
        if (!auth()-> user ()-> haspermission ( &#39;admin&#39;)) {
            중단 (403, &#39;무단 행동.&#39;);
        }

        return $ 다음 ($ 요청);
    }
}

위의 예에서는 사용자가 지정된 페이지에 액세스 할 수있는 '관리자'권한이 있어야한다고 가정합니다. 그렇지 않으면 403 오류가 반환됩니다.

미들웨어를 등록하십시오

미들웨어가 적용 되려면`kernel.php` 파일에 등록해야합니다. 예를 들어`$ lourmiddleware` 배열에서 미들웨어에 대한 별칭을 지정할 수 있습니다.
보호 된 $ rounemiddleware = [
    // 기타 미들웨어 ...
    &#39;can.access&#39;=> \ app \ http \ middleware \ checkpermission :: class,
];

이렇게하면 경로의 별칭을 사용하여 미들웨어를 적용 할 수 있습니다.

애플리케이션 미들웨어

권한 검증이 필요한 경로에서는 미들웨어 별칭을 통해 미들웨어를 적용 할 수 있습니다. 예를 들어, 다음 코드는 경로에`can.access` 미들웨어를 적용하는 방법을 보여줍니다.
route :: get ( &#39;/admin/dashboard&#39;, function () {
    // 액세스 제어 로직})-> 미들웨어 ( &#39;can.access&#39;);

이 코드는 'admin'권한이있는 사용자 만 /admin /dashboard 페이지에 액세스 할 수 있도록합니다.

3. 미들웨어 및 응용 프로그램의 역할 관리

Laravel Middleware는 권한 제어 외에도 역할 관리를 구현하는 데 도움이 될 수 있습니다. 개발 과정에서 다른 역할에 따라 사용자 액세스 권한을 제어해야합니다.

역할 검증 미들웨어를 만듭니다

이전에 생성 된 'checkpermission'미들웨어를 기반으로 역할 검증을위한 논리를 추가하기 위해 수정할 수 있습니다. 예는 다음과 같습니다.
공개 기능 핸들 ($ request, 닫기 $ 다음, $ rober)
{
    // 사용자의 역할을 확인 if (! auth ()-> user ()-> hasrole ($ role)) {
        중단 (403, &#39;무단 행동.&#39;);
    }

    return $ 다음 ($ 요청);
}

이 코드에서는 확인 해야하는 역할을 전달하기 위해 $ 역할 매개 변수를 추가합니다.

역할 검증 미들웨어 등록

마찬가지로`kernel.php` 파일에 역할 검증 미들웨어를 등록하고이를 위해 별명을 지정해야합니다.
보호 된 $ rounemiddleware = [
    // 기타 미들웨어 ...
    &#39;has.role&#39;=> \ app \ http \ middleware \ checkpermission :: class,
];

역할 검증 미들웨어를 적용하십시오

역할 검증이 필요한 경로에서는 별명을 통해 역할 검증 미들웨어를 적용 할 수 있습니다. 예를 들어:
route :: get ( &#39;/admin/dashboard&#39;, function () {
    // Access Control Logic})-> 미들웨어 ( &#39;Has.Role : admin&#39;);

이러한 방식으로 '관리자'역할을 가진 사용자 만 /admin /dashboard 페이지에 액세스 할 수 있습니다.

결론적으로

Laravel Middleware를 사용하여 응용 프로그램의 권한 제어 및 역할 관리를 쉽게 구현하십시오. Middleware는 사용자가 권한이나 역할로 페이지에만 액세스 할 수 있도록 유연하고 효율적인 방법을 제공합니다. 이 기사의 소개가 Laravel Middleware를 더 잘 이해하고 사용하는 데 도움이되기를 바랍니다.