【Laravel에서 개인 개발】 사용자 인증 시스템의 기능 도입

4639 단어 라라벨Laravel6

소개



이 문서는 Laravel 초보자가 사용자 등록, 로그인을 필요로 하는 서비스를 만들기 위해 Laravel에서 표준으로 제공되는 패키지를 사용하여 꾸준히 구현하는 것을 목표로 정하고 있습니다.

목표의 구체적인 상태


  • 다음의 기능을 제공할 수 있다
  • 회원 등록
  • 로그인/로그아웃
  • 비밀번호 알림

  • 상기 기능의 각종 메시지가 일본어로 제공된다

  • 설치할 소프트웨어 패키지



    이번은 laravel/ui 를 도입할 뿐입니다. 최신 버전은 2.x이지만 이번에 설치한 Laravel 버전은 6.x이므로 1.x를 지정하여 설치합니다.

    도입 절차



    vessel을 이용한 환경에서 작업을 진행합니다.

    1. laravel/ui 설치


    ./vessel comp require laravel/ui "^1.0" --dev
    

    2. 인증 기능 설정


    # 認証用のスキャフォールド生成
    ./vessel art ui vue --auth
    
    # マイグレーション
    ./vessel art migrate
    

    3. 현지화 설정



    config/app.php
    # タイムゾーンを以下の値に変更
    'timezone' => 'Asia/Tokyo',
    
    # ロケールを以下の値に変更
    'locale' => 'ja',
    
    # fakerロケールを以下の値に変更(テストデータを作るときに必須の設定)
    'faker_locale' => 'ja_JP',
    

    4. 언어 파일 추가



    프로젝트의 루트 디렉토리로 이동하여 다음을 수행합니다. 성공하면, resources/lang/ja 라는 디렉토리가 새롭게 작성되고 있습니다.
    php -r "copy('https://readouble.com/laravel/6.x/ja/install-ja-lang-files.php', 'install-ja-lang.php');"
    php -f install-ja-lang.php
    php -r "unlink('install-ja-lang.php');"
    

    7. 테스트 데이터 설정



    아래 파일의 주석 처리를 해제하고 UserTableSeeder를 만듭니다. 이렇게 하면 인증을 위한 사용자 테이블에 테스트 데이터를 만들 수 있습니다.

    databese/seeds/DatabaseSeeder.php
        public function run()
        {
            // $this->call(UsersTableSeeder::class);
            $this->call(UsersTableSeeder::class);
        }
    

    다음은 내용을 그대로 복사합니다.

    databese/seeds/UsersTableSeeder.php
    <?php
    
    use Illuminate\Database\Seeder;
    
    class UsersTableSeeder extends Seeder
    {
        /**
         * Run the database seeds.
         *
         * @return void
         */
        public function run()
        {
            factory(App\User::class, 30)->create();
        }
    }
    

    새 클래스를 추가했으므로 dump-autoload 실행
    ./vessel comp dump-autoload
    

    7. 테스트 데이터 생성



    seed 명령을 사용하여 users 테이블에 테스트 데이터를 만듭니다.
    ./vessel art db:seed
    
    # mysqlコンテナにアクセスする
    ./vessel mysql
    
    # usersテーブルをカウントする(30件入っているはず)
    select count(*) from users;
    

    8. 화면 확인



    localhost에 액세스하면 톱 페이지에 인증 메뉴가 추가됩니다.


    또, 그 메뉴로부터 로그인 화면으로 천이해, 적당한 캐릭터 라인을 입력해 로그인을 시도하면, 일본어로 에러 메세지가 출력됩니다.

    좋은 웹페이지 즐겨찾기