Laravel 6.x/7.x 멀티 인증 설정 방법 사용자와 관리자를 나누어 로그인 【제4회】

제작 환경



Windows 10
Laravel : 6.18.35
Laravel/ui : 1.0
Laravel-mix : 5.0.1
Bootstrap : 4.0.0
MDBootstrap : 4.19.1
chart.js : 2.9.3
XAMPP
PHP : 7.4.3
Visual Studio Code

관련 기사



Laravel 6.x / 7.x 멀티 인증 설정 방법 사용자와 관리자를 나누어 로그인 【제1회】
Laravel 6.x / 7.x 멀티 인증 설정 방법 사용자와 관리자를 나누어 로그인 【제2회】
Laravel 6.x / 7.x 멀티 인증 설정 방법 사용자와 관리자를 나누어 로그인 【제3회】
Laravel 6.x / 7.x 멀티 인증 설정 방법 사용자와 관리자를 나누어 로그인 【제5회】
Laravel 6.x / 7.x 멀티 인증 설정 방법 사용자와 관리자를 나누어 로그인 【제6회】
Laravel 6.x / 7.x 멀티 인증 설정 방법 사용자와 관리자를 나누어 로그인 【제7회】
Laravel 6.x / 7.x 멀티 인증 설정 방법 사용자와 관리자를 나누어 로그인 【최종회】

소개



이 기사는 프로그래밍을 시작한지 ​​얼마 안된 아마추어가, 할 수 있었던 것을 메모하는데 이용하고 있습니다.
내용에 오류가 있을 수 있습니다.

기사를 작성할 때는 다음 사이트를 참고로 하고 있습니다.
이쪽이 상세하므로, 우리 쪽에서 덧붙이고 있는 요건이 불필요하면, 이하를 참고로 하는 것이 좋다고 생각합니다.

길어지기 때문에 여러 번 나누어 기사를 게시합니다.

라우팅 편집



routes 내에 있는 web.php를 엽니다.
laravel/ui 의 -auth 로 인증 기능을 인스톨 하고 있으므로, Auth::routes(); 가 이미 설정되어 있을 것입니다.
이 Auth::routes();만으로, user측의 로그인, 로그아웃, 신규 등록등의 라우팅이 되고 있습니다.

다음과 같이 라우팅을 추가합니다.

web.php
Route::get('/', function () {
    return view('welcome');
});

// ユーザー側の認証に関するルーティング
Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

// 管理者用の認証に関するルーティング
Route::prefix('admin')->namespace('Admin')->name('admin.')->group(function(){
    Auth::routes();
});

이것은 welcome 페이지 표시를 위한 라우팅입니다.
처음부터 있는 라우팅입니다.
Route::get('/', function () {
    return view('welcome');
});

여기가 사용자 측 인증에 관한 라우팅입니다.
Auth::routes();

이곳은/home에 액세스했을 때의 라우팅입니다.
->name('home')이라고 기술하는 것으로, 라우팅에 이름을 붙이고 있습니다.
Route::get('/home', 'HomeController@index')->name('home');

여기가 관리자 측 인증에 관한 라우팅입니다.
Route::prefix('admin')->namespace('Admin')->name('admin.')->group(function(){
    Auth::routes();
});

라우팅 확인



여기까지 만들면 한 번 라우팅 내용을 확인해 보세요.
터미널에서 다음을 수행하면 라우팅을 목록에서 볼 수 있습니다.
php artisan route:list

다음을 수행하여 라우팅을 텍스트 파일로 출력할 수도 있습니다.
샘플 부분을 마음대로 변경하십시오.
php artisan route:list > sample.txt

컨트롤러 복제



app\Http\Controllers에 새 Admin 디렉토리를 만듭니다.
작성한 후 app\Http\Controllers에 있는 User용 Auth 디렉토리를 Admin 디렉토리에 통째로 복사합니다.



복사가 완료되면 네임스페이스가 모두 App\Http\Controllers\Auth 가 되므로 복사한 파일의 namespace를 모두 App\Http\Controllers\Admin\Auth 로 변경합니다.

뷰 복제



resources\views에 새 admin 디렉토리를 만들고 resources\views\auth를 컨트롤러처럼 만든 디렉토리에 복사합니다.



루트 대상 변경



뷰를 복사한 후 resources\views\admin\auth\register.blade.php를 열고 작업 설명을 수정합니다.

변경 전



register.blade.php
<form method="POST" action="{{ route('register') }}">

변경 후



register.blade.php
<form method="POST" action="{{ route('admin.register') }}">

이 다른 로그인 화면에 대해서도 blade 파일에서 라우팅 이름이 사용되므로 모두 admin.xxxxx로 변경하십시오.

이번은 여기서 끝납니다.
다음에 계속됩니다.

좋은 웹페이지 즐겨찾기