Laravel 10 入門トップページ


目次

  1. 全体の概要
  2. Laravel によるユーザ認証
  3. ユーザ認証を備えたコメント掲示板の開発
  4. マルチ認証の実現
    1. 概要
    2. 準備作業
    3. コントローラの作成
    4. ガードの追加
    5. モデルの作成
    6. データベースのマイグレーション
    7. シーダによる管理者・教員データの登録
    8. コントローラの生成
    9. ガードごとに認証不要のダッシュボードを作成
    10. ログイン機能実装の手順
    11. モデルを認証必須に
    12. リクエストの作成
    13. ログインコントローラの作成
    14. ルートの定義
    15. ログインフォームの作成
    16. コンポーネントの作成
    17. レイアウトの作成
    18. ナビゲーションの作成
    19. コントローラの編集
    20. ビューの作成
    21. ミドルウェアの修正
    22. ルートの定義
    23. 管理者ログインの動作確認
    24. 管理者と教員ページのデザイン変更

Laravel でユーザ認証とマルチ認証を実現する

マルチ認証の実現

ログインフォームの作成

システム管理者用のログインフォームを作成します.resources/views/admin/auth フォルダを作成して,その中に login.blade.php ファイルを設置します.このファイルは resources/views/auth/login.blade.php をコピーして,admin 用に書き換えると良いでしょう.

resources/views/admin/auth/login.blade.php
<x-guestadmin-layout>
    <!-- Session Status -->
    <x-auth-session-status class="mb-4" :status="session('status')" />

    <h1>Admin Login</h1>
    <form method="POST" action="{{ route('admin.login') }}">
        @csrf

        <!-- Login ID -->
        <div>
            <x-input-label for="login_id" :value="__('Login ID')" />
            <x-text-input id="login_id" class="block mt-1 w-full" type="text" name="login_id" :value="old('login_id')" required autofocus autocomplete="username" />
            <x-input-error :messages="$errors->get('login_id')" class="mt-2" />
        </div>

        <!-- Password -->
        <div class="mt-4">
            <x-input-label for="password" :value="__('Password')" />

            <x-text-input id="password" class="block mt-1 w-full"
                            type="password"
                            name="password"
                            required autocomplete="current-password" />

            <x-input-error :messages="$errors->get('password')" class="mt-2" />
        </div>

        <div class="flex items-center justify-end mt-4">
            <x-primary-button class="ml-3">
                {{ __('Admin Log in') }}
            </x-primary-button>
        </div>
    </form>
</x-guestadmin-layout>

上のコードの1行目には <x-guestadmin-layout> というタグがあります.つまり,これは親レイアウトに guestadmin を利用することを意味しています.次のページではその準備としてコンポーネントの作成を行います.

目次に戻る