PHP
laravel

Laravelでユーザー登録・認証機能を作成する(たぶん)最も簡単な方法

はじめに

Laravelでユーザー登録・認証機能作成する方法をメモとして残しておきます。
タイトルの通り、(たぶん)このやり方が最も簡単でシンプルな方法なのではないかと思います。

LaravelにはデフォルトでAuthというものが存在しており、artisanも活用すればあっという間にユーザー登録機能が完成してしまいます。

Viewを作成する

以下のコマンドを叩くだけで認証関係のViewがまとめて作成されます。
ログイン後に飛ばされるページはAuthディレクトリ配下のそれぞれのControllerで勝手に定義してあるので、そこは適宜修正を行います。

$ php artisan make:auth --views

ルーティングを行う

ルーティングを行っている場所、routesディレクトリのweb.phpで以下のRouteファサードを追加するだけです。

Route::auth(); 

このような形でOKです。

Route::group(['middleware' => ['web']], function() {

    Route::auth();

    Route::get('/', function() {
        $books = Book::all();
        return view('books', ['books' => $books]);
    });

});

ログイン状態の確認を行う

Route::get('/', ['middleware' => 'auth', function() {
    $books = Book::all();
    return view('books', ['books' => $books]);
}]);

ルーティングでこのように記述することで、function()で処理を行う前にログイン状態の確認を行ってくれます。
ログイン状態の時のみfunction()内の処理が実行され、ログインしていなければAuthディレクトリ内のcontrollerに定義されているパスにリダイレクトされます。

LoginController.php
protected $redirectTo = '/';

再起動して確認する

再起動して確認してみます。 

$ php artisan serve

Login処理が行えれば成功です。