Laravel을 사용하여 사용자가 로그인했는지 확인하는 방법

PHPz
풀어 주다: 2023-04-23 09:22:40
원래의
1176명이 탐색했습니다.

Laravel은 현재 가장 인기 있는 PHP 프레임워크 중 하나입니다. 개발자가 강력한 웹 애플리케이션을 신속하게 구축할 수 있도록 하는 많은 유용한 도구와 기능을 제공합니다. 많은 웹 애플리케이션에서 사용자는 보호된 페이지에 접근하기 위해 로그인해야 하며, 로그인한 사용자를 인증하기 위해 Laravel을 사용하는 방법을 배워야 합니다.

Laravel에서 사용자 인증 시스템은 공식 Laravel Auth에 의해 관리됩니다. 이 시스템은 사용자 등록, 로그인, 비밀번호 재설정과 같은 많은 일반적인 인증 기능을 제공합니다. 이 시스템에서는 미들웨어를 사용하여 사용자가 로그인했는지 확인합니다. 미들웨어는 요청이 지정된 경로에 도달하기 전에 일부 작업을 수행하는 데 사용되는 요청 필터입니다. 우리는 보호된 페이지에 대한 사용자의 액세스를 제한할 수 있도록 미들웨어를 사용하여 사용자가 로그인했는지 확인할 수 있습니다.

아래에서는 미들웨어를 사용하여 사용자의 로그인 여부를 확인하는 방법을 보여드리겠습니다. Laravel의 make:middleware 명령을 사용하여 새로운 미들웨어를 만들 수 있습니다. 예를 들어 "AuthMiddleware"라는 이름의 미들웨어를 만들 수 있습니다.

다음 명령을 실행하여 AuthMiddleware를 생성할 수 있습니다:

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

위 명령을 실행한 후 Laravel은 app/Http/Middleware 디렉토리에 AuthMiddleware.php 파일을 생성합니다. 이 시점에서 이 파일의 핸들 메소드에 확인 로직을 작성해야 합니다. 예는 다음과 같습니다.

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class AuthMiddleware
{
    public function handle($request, Closure $next)
    {
        if (!Auth::check()) {
            return redirect(&#39;/login&#39;);
        }

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

위 예에서는 먼저 Auth::check() 메서드를 사용하여 사용자가 이미 로그인되어 있는지 확인합니다. 사용자가 로그인하지 않은 경우 /login 페이지로 리디렉션됩니다. 사용자가 이미 로그인한 경우 요청이 진행되도록 허용합니다. 이를 "미들웨어를 통해"라고 합니다.

다음으로 경로에서 AuthMiddleware를 사용해야 합니다. Laravel의 경로 정의에서 미들웨어를 사용할 수 있는 두 가지 방법이 있습니다:

방법 1: 경로 정의에서 미들웨어 사용

Route::get(&#39;/dashboard&#39;, function () {
    return view(&#39;dashboard&#39;);
})->middleware('auth');
로그인 후 복사

위 코드에서는 인증 미들웨어를 사용하여 사용자가 로그인했는지 여부를 확인합니다. 사용자가 /dashboard 페이지에 접근할 때, 사용자가 로그인되어 있지 않으면 /login 페이지로 리디렉션됩니다.

방법 2: 컨트롤러 클래스에서 미들웨어 사용

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class DashboardController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function index()
    {
        return view('dashboard');
    }
}
로그인 후 복사

위 코드에서는 컨트롤러에서 AuthMiddleware를 사용합니다. 사용자가 /dashboard에 액세스할 때 사용자가 로그인하지 않은 경우 /login 페이지로 리디렉션됩니다. .

Laravel을 사용하여 사용자가 로그인했는지 확인하는 방법을 배웠으므로 이제 컨트롤러 및 경로에서 미들웨어를 사용하여 사용자가 보호된 페이지에 액세스하지 못하도록 제한할 수 있습니다. 미들웨어를 통해 우리는 애플리케이션을 더욱 안전하고 안정적으로 만들 수 있습니다.

위 내용은 Laravel을 사용하여 사용자가 로그인했는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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