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('/login'); } return $next($request); } }
위 예에서는 먼저 Auth::check() 메서드를 사용하여 사용자가 이미 로그인되어 있는지 확인합니다. 사용자가 로그인하지 않은 경우 /login 페이지로 리디렉션됩니다. 사용자가 이미 로그인한 경우 요청이 진행되도록 허용합니다. 이를 "미들웨어를 통해"라고 합니다.
다음으로 경로에서 AuthMiddleware를 사용해야 합니다. Laravel의 경로 정의에서 미들웨어를 사용할 수 있는 두 가지 방법이 있습니다:
방법 1: 경로 정의에서 미들웨어 사용
Route::get('/dashboard', function () { return view('dashboard'); })->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 중국어 웹사이트의 기타 관련 기사를 참조하세요!