Laravel5.6 ログイン画面の追加

公開日:2018-06-16

1. 概要

ログイン画面を追加します。

2. 概要

以下のコマンドを実行します。
コマンドプロンプト
php artisan make:auth

実行すると、以下のファイルが作成されます。
ファイル一覧
app/Http/Controllers/HomeController.php
resources/views/auth/login.blade.php
resources/views/auth/register.blade.php
resources/views/auth/passwords/email.blade.php
resources/views/auth/passwords/reset.blade.php
resources/views/layouts/layouts/app.blade.php
resources/views/home.blade.php
また、web.php に以下が追加されます。
web.php抜粋
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
http://localhost/laravel_test/public/login/ にアクセスすると、ログイン画面が表示されます。



画面右上の Register でユーザ登録が行えます。
ユーザ登録を行うと、users テーブルにデータが追加されます。
この時、パスワードは暗号化されて保存されるため、手動で Insert したデータではログインできません。

ユーザ登録を行ってログインをすると、
http://localhost/laravel_test/public/home/ へ遷移します。

ログアウトとして、
http://localhost/laravel_test/public/home/ に直接アクセスすると、ログイン画面が表示されます。

以前作成した、
http://localhost/laravel_test/public/test/ にアクセスすると、ログイン画面が表示されずに画面が出ます。

作成された app/Http/Controllers/HomeController.php を見るとわかりますが、コントローラーの違いは、コンストラクタだけです。
HomeController.php抜粋
public function __construct()
{
  $this->middleware('auth');
}
TestController.php に上記コンストラクタを追加して、
http://localhost/laravel_test/public/test/ にアクセスすると、
ログイン画面が表示されるようになります。