# 개발환경 os: windows10 pro 64bit php : v7.4.2 node : v10.16.0 laravel : v6.16.0 mysql : v5.7.28 |
0. 사전준비
# 사전준비 0.1. mysql 설치 0.2. db 스키마 생성 (testdb) |
0. 디렉토리 구조
1. /root/.env 수정
1.1. 본인이 만든 mysql 스키마 정보를 입력
2. [teminal] php artisan make:auth
2.1. laravel 버전이 6이상이면 다음과 같은 내용이 출력
2.2. 6버전 이상이면, 다음 명령어들을 통해서 수행
2.3. [terminal] composer require laravel/ui
2.4. [terminal] php artisan ui vue --auth
2.4.1. [terminal] npm install
2.4.2. [terminal] npm run development
2.5. [terminal] php artisan migrate
2.5.1. 위 실행을 다 하고 나면, db 스키마에 테이블도 생성됨
2.6. 확인
/root/resources/views 디렉토리에 auth, layout 디렉토리와 아래 파일들이 생성됨을 확인
/root/app/Http/Controllers 디렉토리에 Auth 디렉토리, HomeController 등 생성됨을 확인
3. [terminal] php artisan serve
로그인, 회원가입 시스템 확인
부속) 회원가입 후 리다이렉션 라우팅 수정 시
/*
* /root/app/Http/Controllers/Auth/RegisterController.php
*/
...
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
//이 부분 경로를 수정해주면 됨
...
부속) /root/resources/views/auth/welcome.blade.php
보면 로그인 했을 때의 상태 확인, 어떻게 처리 할 것인지에 대한 내용이 추가되어있음을 확인할 수 있음
/*
* root/resources/views/auth/welcome.blade.php
*/
...
<body>
<div class="flex-center position-ref full-height">
<!-- 이 부분에 추가됨, 로그인 상태이면 /home, 아니면 login 링크 버튼 출력-->
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ route('login') }}">Login</a>
@if (Route::has('register'))
<a href="{{ route('register') }}">Register</a>
@endif
@endauth
</div>
@endif
...
부속)
/root/routes/web.php
Route::get('/home', 'HomeController@index')->name('home');
이 추가되었고, /home route 경로는 /views/home.blade.php를 출력하며
/root/app/Http/Controllers/HomeController.php에 확인해보면 페이지 생성 시 construct() 부분에 middleware로 auth가 설정되어 있는데, 이 부분 때문에 home.blade.php에서는 auth가 되어있는 사용자만 접근할 수 있도록 함
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
return view('home');
}
}
[참고] https://laravel.com/docs/6.x/authentication
[참고] https://stackoverflow.com/questions/34545641/php-artisan-makeauth-command-is-not-defined
'LARAVEL' 카테고리의 다른 글
[LARAVEL] 디렉토리 구조 (0) | 2020.02.25 |
---|---|
[LARAVEL] Eloquent 개념 (0) | 2020.02.25 |
[Laravel] 버전 확인 (0) | 2020.02.23 |
[Laravel] Routing (0) | 2020.02.23 |
[laravel] 설치 (0) | 2020.02.23 |