LoginSignup
0
0

More than 1 year has passed since last update.

【Laravel】マルチログイン対応

Posted at

手順

1.モデル、マイグレーション作成
2.ルート設定
3.ルートサービスプロバイダ設定
4.ガード設定
5.ミドルウェア設定
6.リクエストクラス設定
7.コントローラー&ブレード作成

1.モデル、マイグレーション作成

php artisan make:model Test -m
php artisan make:migration create_text_password_rests

app/models フォルダの自動生成
Authenticatableを継承

2.ルート作成

web.phpとauth.php

3.ルートサービスプロバイダ設定

App/Provider/RouuteServiceProvider.php
ホームURLを設定

4.ガード設定

Laravel標準の認証機能。
セッションストレージとクッキーを使用して状態を維持するセッションが用意されている。

config/auth.phpp
'guards' => [
    'gurd-name' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
],

//ルートでauth:ガード名で認証されたユーザにアクセス許可
Route::get('test',function()
{
    ->middleweae('auth:guard-name')
}


'passwords' => [
    'users' => [
        'provider' => 'users',
        'table' => 'password_resets',
        // 60日間の期限
        'expire' => 60,
        // ログイン失敗時にログイン制限をかける時間 60秒
        'throttle' => 60,
    ],

参考になる記事

5.ミドルウェア設定

ユーザが未認証の場合のリダイレクト処理
Midleware/Authenticate.php

ログイン済みユーザーがアクセスしてきたらリダイレクト処理

Midleware/RedirectlfAuthenticate.php
// ガード設定対象のユーザーか
Auth::guard(self::GUARD_USER)->check()

//受信リクエストが名前つきルートに一致するか
if($request->routels('user.*')){
}

6.リクエストクラス設定

App/Http/REquest/Auth/LoginRequest.php

ログインフォームに入力された値からパスワードを比較し、認証。

7.コントローラー&ブレード作成

App/Http/Controller/Auth
resources/views/auth

バリデーション
namespace

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0