PHP 프레임워크 Laravel Laravel의 사용자 관리 및 권한 제어: 여러 사용자 및 역할 할당 구현

Laravel의 사용자 관리 및 권한 제어: 여러 사용자 및 역할 할당 구현

Aug 12, 2023 pm 02:57 PM
laravel 권한 제어 사용자 관리

Laravel의 사용자 관리 및 권한 제어: 여러 사용자 및 역할 할당 구현

Laravel의 사용자 관리 및 권한 제어: 다중 사용자 및 역할 할당 구현

소개:

최신 웹 애플리케이션에서 사용자 관리 및 권한 제어는 매우 중요한 기능 중 하나입니다. 널리 사용되는 PHP 프레임워크인 Laravel은 여러 사용자 및 역할 할당에 대한 권한 제어를 구현하는 강력하고 유연한 도구를 제공합니다. 이 글에서는 Laravel에서 사용자 관리 및 권한 제어 기능을 구현하는 방법을 소개하고 관련 코드 예제를 제공합니다.

1. 설치 및 구성

먼저 Laravel에서 사용자 관리 및 권한 제어 기능을 구현하려면 Laravel Breeze와 Spatie Laravel Permission 두 가지 패키지를 설치하고 구성해야 합니다.

1.1 Laravel Breeze 설치

Laravel Breeze는 사용자 등록, 로그인, 로그아웃 및 기타 기능을 빠르게 구축하는 데 도움이 되는 경량 인증 시스템입니다. 먼저 명령줄에서 다음 명령을 실행하여 Laravel Breeze를 설치합니다.

composer require laravel/breeze --dev

그런 다음 다음 명령을 실행하여 Laravel Breeze를 설치 및 구성합니다.

php artisan breeze:install
npm install
npm run dev

1.2 Spatie Laravel Permission 설치

Spatie Laravel Permission은 사용자 관리를 위한 도구입니다. 권한 패키지는 역할 권한 부여 및 권한 관리 기능을 구현하는 데 도움이 됩니다. Spatie Laravel을 설치하려면 다음 명령을 실행하세요. 그런 다음 생성된 사용자 모델 파일에 다음 코드를 추가합니다.

composer require spatie/laravel-permission
php artisan vendor:publish --provider="SpatiePermissionPermissionServiceProvider"
php artisan migrate

다음으로 생성된 데이터베이스 마이그레이션 파일에 다음 코드를 추가하여 사용자 테이블의 필드를 정의합니다.

php artisan make:model User -m

마지막으로 다음 명령을 실행하여 데이터베이스 마이그레이션 실행:

use IlluminateFoundationAuthUser as Authenticatable;
use SpatiePermissionTraitsHasRoles;

class User extends Authenticatable
{
    use HasRoles;
    
    // 其他代码...
}

2.2 등록 및 로그인

Laravel Breeze는 등록 및 로그인 기능을 제공하므로 해당 보기 파일에서만 이를 참조하면 됩니다. resources/views/auth 디렉터리에서 Register.blade.php 파일을 열고 다음 코드를 추가하세요:

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}

그런 다음 login.blade.php 파일에 다음 코드를 추가하세요:

php artisan migrate

지금까지 완료했습니다 사용자 등록 및 로그인 기능을 제공합니다.

3. 역할 및 권한 제어

3.1 역할 및 권한 모델 만들기

먼저 명령줄에서 다음 명령을 실행하여 역할 및 권한 모델을 만듭니다.

<x-guest-layout>
    <x-auth-card>
        <x-slot name="logo">
            <a href="/">
                <x-application-logo class="w-20 h-20 fill-current text-gray-500" />
            </a>
        </x-slot>

        <div class="mb-4 text-sm text-gray-600">
            {{ __('This is a secure area of the application. Please confirm your password before continuing.') }}
        </div>

        <!-- 用户注册代码 -->

    </x-auth-card>
</x-guest-layout>

그런 다음 생성된 역할 모델 파일에 다음 코드 :

<x-guest-layout>
    <x-auth-card>
        <x-slot name="logo">
            <a href="/">
                <x-application-logo class="w-20 h-20 fill-current text-gray-500" />
            </a>
        </x-slot>

        <!-- 用户登录代码 -->

    </x-auth-card>
</x-guest-layout>

다음으로 생성된 권한 모델 파일에도 다음 코드를 추가합니다.

php artisan make:model Role
php artisan make:model Permission

3.2 역할 및 권한 할당

사용자에게 역할 및 권한을 할당하려면 사용자에 해당 메서드를 작성해야 합니다. 컨트롤러 코드. app/Http/Controllers/Auth 디렉터리에서 RegisteredUserController.php 파일을 열고 store 메서드에 다음 코드를 추가합니다.

use SpatiePermissionModelsRole as BaseRole;

class Role extends BaseRole
{
    // 其他代码...
}

위 코드에서는 insertRole 및 givePermissionTo 메서드를 통해 사용자에게 역할과 권한을 할당합니다. .

4. 권한 제어를 위해 미들웨어를 사용하세요

Laravel에서는 권한 제어를 위해 미들웨어를 사용할 수 있습니다. 먼저 app/Http/Kernel.php 파일에서 Spatie Laravel에서 제공하는 미들웨어를 등록합니다. '기사 작성' 권한이 있는 사용자만 이 경로에 액세스할 수 있습니다.

요약:

이 글에서는 Laravel에서 사용자 관리 및 권한 제어를 구현하는 방법을 소개합니다. Laravel Breeze 및 Spatie Laravel Permission과 같은 구성요소를 사용하여 사용자 등록, 로그인 및 역할 권한 제어 기능을 빠르게 구축할 수 있습니다. 이 문서가 여러 사용자 및 역할 할당에 대한 권한 제어를 구현하는 모든 사람에게 도움이 되기를 바랍니다.

위 내용은 Laravel의 사용자 관리 및 권한 제어: 여러 사용자 및 역할 할당 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP 튜토리얼
1545
276
Laravel에서 추천 시스템을 구현하는 방법은 무엇입니까? Laravel에서 추천 시스템을 구현하는 방법은 무엇입니까? Aug 02, 2025 am 06:55 AM

추천, 추천, 추천 코드 및 사용 시간을 포함하여 추천 관계를 기록 할 추천 테이블을 작성합니다. 2. 추천 데이터를 관리하기 위해 사용자 모델의 SONGSTOMONY 및 HASMANY 관계 정의; 3. 등록 할 때 고유 한 권장 코드를 생성합니다 (모델 이벤트를 통해 구현할 수 있음). 4. 등록 중 매개 변수를 쿼리하여 권장 코드를 캡처하고 확인 후 권장 관계를 설정하고 자체 권장을 방지합니다. 5. 권장 사용자가 지정된 동작 (구독 순서)을 완료하면 보상 메커니즘을 트리거합니다. 6. 공유 가능한 추천 링크를 생성하고 Laravel Signature URL을 사용하여 보안을 향상시킵니다. 7. 총 권장 사항 수 및 변환 숫자와 같은 대시 보드에 권장 통계를 표시합니다. 데이터베이스 제약, 세션 또는 쿠키가 지속되도록해야합니다.

Laravel 앱에서 기능 플래그를 구현하는 방법은 무엇입니까? Laravel 앱에서 기능 플래그를 구현하는 방법은 무엇입니까? Jul 30, 2025 am 01:45 AM

chooseafeatureflagsTrategysuchasconfig 기반, 데이터베이스-구동, Orthird-PartyTools Likeflagsmith.2.setupadatabase-drivensystembycreatingAmigrationforAfeature_flagstablewithName, enabled, andrulesfields, thenruntheMigration.3.createfeatureffillew withfilla

Laravel로 REST API를 구축하는 방법? Laravel로 REST API를 구축하는 방법? Jul 30, 2025 am 03:41 AM

새로운 Laravel 프로젝트를 만들고 서비스를 시작하십시오. 2. 모델, 마이그레이션 및 컨트롤러를 생성하고 마이그레이션을 실행하십시오. 3. Routes/API.php에서 RESTFUL 경로를 정의합니다. 4. PostController에서 추가, 삭제, 수정 및 쿼리 메소드를 구현하고 JSON 응답을 반환합니다. 5. Postman 또는 Curl을 사용하여 API 기능을 테스트하십시오. 6. 선택적으로 성소를 통해 API 인증을 추가합니다. 마지막으로 실제 적용에 적합한 명확한 구조, 완전하고 확장 가능한 Laravelrestapi를 얻습니다.

Laravel의 저장소 계약은 무엇입니까? Laravel의 저장소 계약은 무엇입니까? Aug 03, 2025 am 12:10 AM

저장소 패턴은 데이터 액세스 로직에서 비즈니스 로직을 분리하는 데 사용되는 설계 패턴입니다. 1. 인터페이스 (계약)를 통해 데이터 액세스 방법을 정의합니다. 2. 특정 작업은 저장소 클래스에 의해 구현됩니다. 3. 컨트롤러는 종속성 주입을 통해 인터페이스를 사용하며 데이터 소스에 직접 접촉하지 않습니다. 4. 장점에는 깔끔한 코드, 강력한 테스트 가능성, 쉬운 유지 보수 및 팀 협업이 포함됩니다. 5. 중간 및 대규모 프로젝트에 적용 할 수있는 소규모 프로젝트는 모델을 직접 사용할 수 있습니다.

Laravel의 Eloquent에서 액세서와 돌연변이를 사용하는 방법은 무엇입니까? Laravel의 Eloquent에서 액세서와 돌연변이를 사용하는 방법은 무엇입니까? Aug 02, 2025 am 08:32 AM

Accessorsandmutatorsinlaravel'SeloquentOrmallowyoutoformatormanipulatemodelttributeswhenrievingerttingvalues.1.useaccessorstocustomizeattributerretrieval, suchAscapitalizationFiRST_NAMEVAGETFIRSTMAITTRIBES ($ value) ReturnUcfirst ($ value) .2

Laravel에서 유효성 검사 요청 양식 요청 사용. Laravel에서 유효성 검사 요청 양식 요청 사용. Jul 30, 2025 am 05:04 AM

Formrequests를 사용하여 컨트롤러에서 복잡한 양식 검증 로직을 추출하여 코드 유지 관리 및 재사용 성을 향상시킵니다. 1. 생성 방법 : Artisan Command Make를 통해 요청 클래스를 생성합니다 : 요청; 2. 정의 규칙 : 규칙 () 메소드에서 필드 검증 로직을 설정합니다. 3. 컨트롤러 사용 :이 클래스에서 매개 변수로 직접 요청을 받고 Laravel은 자동으로 확인합니다. 4. 승인 판단 : authorize () 메소드를 통한 사용자 권한을 통제합니다. 5. 동적 조정 규칙 : 요청 내용에 따라 다른 검증 규칙을 동적으로 반환합니다.

Laravel의 Eloquent에서 하위 쿼리를 사용하는 방법은 무엇입니까? Laravel의 Eloquent에서 하위 쿼리를 사용하는 방법은 무엇입니까? Aug 05, 2025 am 07:53 AM

laraveleloquentsupportsSubqueriesinselect, 어디에서, 어디서, andoRderByclauses, enableflexibleAtAretrievalwithoutrawsql; 1.useselectSub () toaddcomputedColumnslikepostCountPerUser; 2.usefromsub () orclosureInfrom () TOTREATSUREATSURBURYASUBLEADSUBLOUCABUREATSUBLEATSUBLEATSUBUREGROUTHER

반응을 Laravel과 통합하는 방법은 무엇입니까? 반응을 Laravel과 통합하는 방법은 무엇입니까? Jul 30, 2025 am 04:05 AM

setuplaravelasanapibackendbyinstallinglaravel, 구성, apiroutes 만들기, andreturningjsonfromcontrollers, 옵션을 repinglaravelsanctumforauthentication.2

See all articles