[Laravel7의 사용자 인증_1] 기본

4260 단어 LaravelLaravel7

입문


Laravel 7을 사용하여 사용자 인증이 필요한 사이트를 구축하는 방법을 정리합니다.

환경


XAMPP 환경에서 Laravel을 사용할 수 있도록 설정합니다.
  • Windows10 Pro 64bit
  • PHP 7.3.18
  • Laravel 7.12.0
  • MariaDB 10.1.32
  • 사용자 인증 설정


    Laravel 프로젝트 만들기


    임의의 이름으로 항목을 만듭니다.
    여기서 laravel_auth라는 프로젝트를 만들었습니다.
    $ composer create-project --prefer-dist laravel/laravel laravel_auth
    $ cd laravel_auth
    $ php artisan -v
    Laravel Framework 7.12.0
    
    ※ 라벨의 버전을 지정하여 설치하려면 라벨/라벨 부분에 버전 정보를 추가합니다.
    $ composer create-project --prefer-dist "laravel/laravel=7.*" laravel_auth
    

    인증 기능 추가

    php artisan ui vue --auth에 인증 기능이 추가됩니다.
    Laravel5에서는 php artisan make:auth에 인증 기능이 추가되었지만 Laravel7은 Laravel/ui에 내장되어 있기 때문에 Laravel/ui를 먼저 추가해야 합니다.
    레벨/ui 추가
    $ composer require laravel/ui
    Using version ^2.0 for laravel/ui
    
    ※ Laravel/ui의 버전을 지정하려면 마지막으로 버전 정보를 추가합니다.
    $ composer require laravel/ui 2.*
    
    인증 기능 추가
    $ php artisan ui vue --auth
    Vue scaffolding installed successfully.
    Please run "npm install && npm run dev" to compile your fresh scaffolding.
    Authentication scaffolding generated successfully.
    
    Could not open input file: artisan 오류가 발생하면 Laravel의 프로젝트 디렉터리에서 명령을 내릴 가능성이 높기 때문에 cd 명령이 만든 디렉터리로 이동합니다.

    패키지 설치 구축


    Laravel/ui에 필요한 CSS 또는 Javascript를 추가합니다.
    $ npm install
    $ npm run dev
    

    데이터베이스 설정


    데이터베이스 만들기


    phpMyAdmin에서 새 데이터베이스를 만듭니다.
    여기서 다음 내용으로 데이터베이스를 만들었습니다.
  • 데이터베이스 이름: laravel_auth_db
  • 사용자 이름: laravel_auth_user
  • 사용자 암호: laravel_auth_password
  • .env 파일 구성


    laravel_multi_auth 폴더에 있습니다.env에 대해 데이터베이스 연결과 관련된 다음 항목을 덮어씁니다.
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=laravel_auth_db
    DB_USERNAME=laravel_auth_user
    DB_PASSWORD=laravel_auth_password
    

    테이블 만들기

    php artisan migrate 인증에 필요한 표를 만듭니다.
    $ php artisan migrate
    
    SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`)) 이러한 오류가 발생했을 때 app\Providers\AppServiceProvider.php에 다음 내용을 추가하면 최대 길이가 지정되지 않은 열의 기본 최대 길이를 191로 변경합니다.
    app\Providers\AppServiceProvider.php
    +   use Illuminate\Support\Facades\Schema;
    
        public function boot()
        {
    +       Schema::defaultStringLength(191);
        }
    
    중도migrate가 정지된 상태에서 중도에 폐기된 시계가 제작된 상태이기 때문에 모든 시계를 잠시 삭제하고 다시 제작합니다.
    $ php artisan migrate:fresh
    Dropped all tables successfully.
    Migration table created successfully.
    

    개발 서버 시작

    $ php artisan serve
    Laravel development server started: http://127.0.0.1:8000
    
    서버가 시작되면 URL이 표시되므로 브라우저에서 액세스하여 확인하십시오.

    이제 사용자 인증의 기본 작업을 수행할 수 있습니다.
    ◆ 다음 글【Laravel7의 사용자 인증_2】 사용자 인증을 일본어로 만들기

    웹 페이지 정보

  • 업데이트!Laravel6/7 "make:Auth"가 사라집니다~ Laravel6/7에서 Login 기능을 구현하는 방법 ~ MyMemo-Qiita
  • Laravel5.4 이상, MySQL5.7.7 이하에서 users 테이블의 이전을 실행할 때 Syntax error 발생 - Qiita
  • 좋은 웹페이지 즐겨찾기