Laravel-승인
이전 장에서 우리는 라 라벨의 인증 과정에 대해 공부했습니다. 이 장에서는 Laravel의 인증 프로세스에 대해 설명합니다.
인증과 권한 부여의 차이점
Laravel의 권한 부여 프로세스에 대해 자세히 알아보기 전에 인증과 권한의 차이점을 이해하겠습니다.
에 authentication, 시스템 또는 웹 애플리케이션은 사용자가 제공하는 자격 증명을 통해 사용자를 식별합니다. 자격 증명이 유효한 것으로 확인되면 인증되거나 그렇지 않은 것입니다.
에 authorization, 시스템 또는 웹 애플리케이션은 인증 된 사용자가 액세스하거나 요청하려는 리소스에 액세스 할 수 있는지 확인합니다. 즉, 요청 된 리소스에 대한 권한과 권한을 확인합니다. 리소스에 액세스 할 수있는 것으로 확인되면 권한이 있음을 의미합니다.
그러므로, authentication 사용자 자격 증명의 유효성 확인이 포함됩니다. authorization 인증 된 사용자가 보유한 리소스에 대한 권한 및 권한 확인이 포함됩니다.
Laravel의 인증 메커니즘
라 라벨은 두 가지 기본 방법을 포함하는 간단한 인증 메커니즘을 제공합니다. Gates 과 Policies.
문 및 정책 작성
게이트는 사용자가 지정된 작업을 수행 할 권한이 있는지 확인하는 데 사용됩니다. 일반적으로App/Providers/AuthServiceProvider.php게이트 파사드 사용. 게이트는 권한 부여 메커니즘을 수행하기 위해 선언 된 기능이기도합니다.
정책은 배열 내에서 선언되며 권한 부여 메커니즘을 사용하는 클래스 및 메서드 내에서 사용됩니다.
다음 코드 줄은 Laravel 웹 애플리케이션에서 사용자를 인증하기 위해 Gates 및 정책을 사용하는 방법을 설명합니다. 이 예에서boot 기능은 사용자를 인증하는 데 사용됩니다.
<?php
namespace App\Providers;
use Illuminate\Contracts\Auth\Access\Gate as GateContract;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any application authentication / authorization services.
*
* @param \Illuminate\Contracts\Auth\Access\Gate $gate
* @return void
*/
public function boot(GateContract $gate) {
$this->registerPolicies($gate);
//
}
}