[Laravel] 7.x 認証の導入とデータベースへの接続

Laravel 7.x での認証機能の導入方法です。Laravelには認証用のモジュールが用意されているので、インストールするだけで簡単に認証機能を導入することができます。

認証機能を自分で作成するとかなりの時間がかかりますし、セキュリティ部分の対応も必要になります。それらの労力を取られずに、簡単に機能を搭載できるのはフレームワークの利点ですね。

開発環境

Laravel 7.x ,MySQL 8.x , CentOS 7.x , Apach 2.4 ,Larav

Laravelプロジェクトの作成

composerでLaravelプロジェクトを作成します。今回はMyProjectという名前にしました。こちらは任意の名前でOKです。

バージョンの確認

認証機能はバージョンによってインストールが変更になっています。今回はLaravel 7.x 用のインストールになるので、Laravelのバージョンを確認しておきます。

プロジェクトのディレクトリに移動して、バージョンを表示させるコマンドを実行します。
今回は「Laravel Framework 7.9.2」と表示されました。

「composer create-project –prefer-dist laravel/laravel」でバージョンを指定しないと、最新のものがインストールされます。

Laravelの起動確認

artisanで開発サーバーを起動します。

ブラウザで http://www.example.com:8000 にアクセスします。

Laravelのページが表示されればうまくいっています。

2020-05-03_14h55_55

Laravel認証のインストール

laravel/uiのインストール

認証機能は laravel/uiパッケージを使ってインストールするので、まず laravel/ui をインストールします。
インストールはcomposerを使います。

auth(認証)のインストール

laravel/ui のインストールが終わったら、authをインストールします。
Vueのauthはフロントエンドのフレームワークと連携が取れるようになっています。Vue , bootstarp , react などを選ぶことができます。

今回はVue.jsを使うことを想定しているので、フロントエンドにVueを指定します。

インストールが成功すると下記のようなメッセージが出ます。

「npm install && npm run dev」を実行してJavaScriptパッケージのインストールとコンパイルを行うという意味です。

これを実行したら、再度、ブラウザでアクセスしてみます。

2020-05-03_15h23_31

右上に「LOGIN」「REGISTER」というリンクが出ています。
これで認証機能がインストールされました。

[LOGIN PAGE]
2020-05-05_09h21_37

[REGISTER PAGE]
2020-05-05_09h21_51

MySQLの接続

今回はMySQLへ接続します。
phpMyAdminやターミナルでプロジェクト用データベースを作成しておきます。
事前にMySQLの接続設定は終えているものとします。
開発実験用なので.envファイルにMySQLの設定しました。

テーブルの作成

Laravel認証に利用するテーブルはこれまでのインストールにより自動的に準備されています。

具体的には下記の3つのテーブルが作られます。
・create_users_table
・create_password_resets_table
・create_failed_jobs_table

この時点ではMySQLにはテーブルが作られていません。artisan migradeコマンドを実行すると自動的にMySQLにテーブルが作られます。

migrade

ターミナルでmigradeを実行します。

ユーザー登録とログイン

RESISTERページからユーザーを登録してみます。登録が完了すると以下のようなメッセージが表示されてログイン状態になります。

2020-05-05_09h36_19



Author: webmaster