미들웨어 점프를 구현하기 위해 laravel에서 미들웨어를 작성하는 방법

PHPz
풀어 주다: 2023-04-03 18:58:11
원래의
674명이 탐색했습니다.

Laravel에서 미들웨어는 애플리케이션으로 들어오는 요청과 클라이언트로 반환되는 응답 사이의 프로세스를 처리하는 매우 실용적이고 중요한 기능입니다. 이러한 프로세스 중에 사용자 권한 확인, 사용자 인증 등 사용자에 대한 작업을 수행해야 할 수도 있습니다. 사용자가 확인에 실패하면 사용자를 다른 페이지로 리디렉션해야 할 수도 있습니다. 이번 글에서는 미들웨어 점프를 구현하기 위해 라라벨에서 미들웨어를 작성하는 방법을 소개하겠습니다.

1. 미들웨어 생성

1단계: 터미널을 열고 Laravel의 Artisan 명령을 사용하여 미들웨어를 생성합니다:

php artisan make:middleware <middleware-name>
로그인 후 복사

예:

php artisan make:middleware EnsureUserIsAdmin
로그인 후 복사

2단계: app/Http/Middleware 디렉토리에 새 미들웨어 생성 UserIsAdmin을 확인하세요. 이 미들웨어는 현재 사용자가 이미 로그인되어 있는지, 사용자에게 관리자 권한이 있는지 확인합니다.

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class EnsureUserIsAdmin {
    public function handle(Request $request, Closure $next){
        if (!auth()->check() || !auth()->user()->is_admin) {
            return redirect('home');
        }

        return $next($request);
    }
}
로그인 후 복사

위 코드에서는 먼저 auth() 함수를 사용하여 현재 사용자가 로그인되어 있는지 확인합니다. 사용자가 로그인하지 않은 경우 이 미들웨어는 홈페이지로 리디렉션됩니다. 사용자가 이미 로그인되어 있는 경우 해당 사용자에게 관리자 권한이 있는지 확인하십시오. 사용자에게 관리자 권한이 없으면 미들웨어가 홈 페이지로 리디렉션됩니다. 그렇지 않으면 미들웨어가 요청 진행을 허용합니다.

2. 미들웨어 사용

1단계: app/Http/Kernel.php 파일에서 $middlewareGroups 배열을 찾습니다. 이 배열에는 애플리케이션을 통해 전달되어야 하는 미들웨어 그룹이 포함되어 있습니다.

protected $middlewareGroups = [
    'web' => [
        // ...
    ],

    'api' => [
        // ...
    ],
];
로그인 후 복사

2단계: 위의 $middlewareGroups 배열에서 다음과 같이 새 미들웨어에 대한 그룹을 지정합니다.

'admin' => [
    \App\Http\Middleware\EnsureUserIsAdmin::class,
],
로그인 후 복사

위 코드에서는 admin을 미들웨어 그룹의 이름으로 사용하고 있으며 수행한 작업도 수행했습니다. 1단계에서 생성된 미들웨어의 이름: EnacheUserIsAdmin.

3단계: 미들웨어 자체를 생성하고 사용할 위치를 지정했으므로 이제 라우터에서 미들웨어를 사용해야 합니다. Routes/web.php 파일을 열고 아래와 같이 경로가 admin 미들웨어 그룹을 사용하도록 지정합니다.

Route::get('admin/users', 'Admin\UserController@index')->middleware('admin');
로그인 후 복사

위 경로 정의에서는 admin이라는 미들웨어 그룹 이름을 사용하여 AdminUserController@index에 액세스하는 페이지를 보호합니다.

3. 미들웨어 테스트

마지막으로 개발 서버를 시작하고 새 미들웨어를 테스트합니다. 애플리케이션 관리자 제어판의 페이지를 방문하세요. 관리자 권한이 없으면 홈 페이지로 리디렉션됩니다.

이 글은 Laravel 5.7 버전에서 미들웨어 점프를 구현하기 위해 미들웨어를 생성하는 방법을 보여줍니다. 다른 버전에서는 약간 다를 수 있습니다.

Summary

미들웨어는 Laravel 프레임워크에서 매우 유용한 기능으로, 사용자가 쉽게 작동하고 미들웨어 점프를 구현할 수 있습니다. 이 글에서는 미들웨어를 생성하고 사용하는 방법과 미들웨어를 사용하여 특정 페이지나 리소스를 보호하는 방법을 다루었습니다. 애플리케이션의 보안을 강화하려는 개발자에게 미들웨어는 이러한 목표를 달성하기 위한 훌륭한 도구입니다.

위 내용은 미들웨어 점프를 구현하기 위해 laravel에서 미들웨어를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿