> 백엔드 개발 > PHP 튜토리얼 > Laravel에서 사용자 정의 인증 가드를 만드는 방법

Laravel에서 사용자 정의 인증 가드를 만드는 방법

Lisa Kudrow
풀어 주다: 2025-03-05 10:02:09
원래의
697명이 탐색했습니다.

How to Create a Custom Authentication Guard in Laravel 이 기사는 핵심 인증 시스템을 확장하여 사용자 정의 인증 가드를 만드는 방법에 중점을두고 Laravel Framework의 인증 시스템을 자세히 살펴볼 것입니다.

Laravel의 핵심은 기본 인증을 쉽게 구현할 수있는 강력한 인증 시스템을 제공합니다. 인증 시스템의 스캐 폴딩을 구축하기 위해 몇 가지 장인 명령을 실행하십시오.

또한 시스템은 사용자 정의 인증 어댑터의 확장 및 삽입을 허용하도록 설계되었습니다. 이 기사는 이것을 자세히 논의 할 것입니다. 사용자 정의 인증 가드의 구현에 뛰어 들기 전에 먼저 Laravel Authentication System의 기본 요소 - 가드 및 제공자에 대해 논의 할 것입니다.

<:> 핵심 요소 : 가드 및 공급자 Laravel 인증 시스템의 핵심은 가드와 제공자의 두 가지 요소로 구성됩니다.

가드 경비원은 인증 된 사용자를 식별하는 데 사용되는 논리 제공 업체로 이해 될 수 있습니다. Laravel Core는 세션 및 토큰과 같은 다른 경비원을 제공합니다. 세션 가드는 쿠키를 통해 각 요청에서 사용자 상태를 유지하는 반면 토큰 가드는 각 요청에서 유효한 토큰을 확인하여 사용자를 인증합니다.

따라서 가드는 인증의 논리를 정의하며 백엔드에서 유효한 자격 증명을 검색하여 항상 구현되는 것은 아닙니다. 요청 헤더의 특정 콘텐츠를 간단히 확인 하고이 컨텐츠를 기반으로 사용자를 인증하는 가드를 구현할 수 있습니다.

> 가드는이 기사의 뒷부분에서 구현되며, 요청 헤더의 특정 JSON 매개 변수를 확인하고 MongoDB 백엔드에서 유효한 사용자를 검색합니다.

제공 업체 가드가 인증 논리를 정의하는 경우 인증 제공 업체는 백엔드 스토리지에서 사용자를 검색 할 책임이 있습니다. 가드가 백엔드 스토리지에 대해 사용자를 인증 해야하는 경우 검색 사용자의 구현이 인증 제공 업체에 포함됩니다.

Laravel에는 데이터베이스와 웅변이있는 두 개의 기본 인증 제공 업체가 제공됩니다. 데이터베이스 인증 제공 업체는 백엔드 스토리지에서 직접 사용자 자격 증명을 검색하는 반면 Eloquent는이를 수행하기 위해 추상화 계층을 제공합니다.

이 예에서는 MongoDB 백엔드에서 사용자 자격 증명을 가져 오는 MongoDB 인증 제공 업체를 구현합니다.

위의 것은 Laravel 인증 시스템의 경비원과 제공 업체에 대한 기본 소개입니다. 다음 섹션에서 시작하여 맞춤 인증 가드 및 제공 업체의 개발에 중점을 둘 것입니다!

파일 설정 개요 이 기사에서 구현할 파일 목록을 간단히 살펴 보겠습니다.

    config/auth.php : 이것은 사용자 정의 가드의 항목을 추가하는 인증 구성 파일입니다. config/mongo.php : mongodb 구성을 포함하는 파일. app/services/contracts/nosqlserviceinterface.php
  • : 사용자 정의 몽고 데이터베이스 클래스에서 구현 한 인터페이스. app/database/mongodatabase.php : MongoDB와 상호 작용하는 주요 데이터베이스 클래스.
  • app/models/auth/user.php : 인증 가능한 계약을 구현하는 사용자 모델 클래스.
  • App/Extensions/MongouserProvider.php : 인증 제공 업체 구현. app/services/auth/jsonguard.php
  • : 인증 가드 드라이버의 구현. app/providers/authserviceprovider.php : 서비스 컨테이너에 바인딩 된 기존 파일을 추가하는 데 사용합니다.
  • app/http/컨트롤러/mongocontroller.php : 사용자 정의 가드를 테스트하기 위해 구현할 데모 컨트롤러 파일.
  • 파일 목록이 현재 명확하지 않은 경우 걱정하지 마십시오. 설명 중에 각 파일을 자세히 설명합니다.
  • 심층 구현 이 섹션에서는 필요한 파일의 구현을 점차적으로 설명합니다. 우선, 우리는 Laravel에게 맞춤형 경비원에 대해 알려야합니다. 아래와 같이 config/auth.php 파일에 사용자 정의 가드의 세부 사항을 추가하십시오.
  • 보시다시피, 우리는 제공자 섹션에 사용자 정의 가드를 추가했습니다.
  • 우리는 웹의 사용자 모델에 제공자 항목을 추가했습니다.
  • 인증 시스템의 표준에 따라 사용자 모델을 구현해야합니다. 인증 제공 업체를 설정하십시오 앞에서 언급했듯이 Laravel 인증 시스템은 가드와 제공자의 두 가지 요소로 구성됩니다. 이 섹션에서는 백엔드에서 사용자를 검색 할 책임이있는 인증 제공 업체를 만들 것입니다.
  • 파일 를 작성하십시오. 내용은 다음과 같습니다. 마찬가지로, 사용자 정의 제공 업체가 및 사용자 모델 클래스가 앞에서 논의 된 사용자 모델 클래스를 구현 해야하는지 확인해야합니다. 반면에 요청 매개 변수에는 자격 증명의 JSON 인코딩 문자열이 포함되어야합니다. 이 섹션에서는 이전 섹션에서 만든 인증 제공 업체와 상호 작용하는 가드를 만들 것입니다.

    파일 를 작성하십시오. 내용은 다음과 같습니다.

    먼저, 우리의 클래스는

    를 구현해야합니다. 키는 CouchDB 구현 어댑터에 이전에 추가 된 설정을 반영합니다. 이 경우 로그인 메소드에 해당 바인딩을 추가하면 무단 메시지를 구현해야합니다.

    반면에 와 비슷한 것을 시도하십시오. 사용자가 데이터베이스에 존재하는 경우

    메시지를 반환해야합니다. 이것은 커스텀 가드의 작동 방식을 보여주는 예일뿐입니다. 로그인과 같은 기능의 경우 완벽한 솔루션을 구현해야합니다. 실제로, 나는 단지 인증 프로세스에 대한 통찰력을 제공합니다.

    오늘의 여정은 여기서 끝나고, 곧 더 유용한 콘텐츠를 가져 오기를 바랍니다.

    결론 Laravel Framework는 핵심에서 강력한 인증 시스템을 제공하며 사용자 정의 인증 시스템을 구현하려면 확장 할 수 있습니다. 이것은이 기사의 주제입니다. 사용자 정의 가드 구현 및 Laravel Authentication Workflow에 삽입합니다.

    이 과정에서 우리는 요청 된 JSON 페이로드를 기반으로 사용자를 인증하는 시스템을 개발하고 MongODB 데이터베이스와 일치시킵니다. 이를 달성하기 위해 우리는 커스텀 가드와 사용자 정의 제공 업체 구현을 만들었습니다.

    이 운동이 Laravel 인증 프로세스에 대한 심층적 인 이해를 제공하기를 바랍니다. 이제 내부적으로 작동하는 방식에 대해 더 확신해야합니다.

    방금 Laravel로 시작하거나 확장을 통해 지식, 웹 사이트 또는 응용 프로그램을 확장하려는 사람들에게는 Envato Market에서 배울 수있는 많은 리소스가 있습니다.

위 내용은 Laravel에서 사용자 정의 인증 가드를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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