LoginSignup
2
0

More than 1 year has passed since last update.

Laravelでログイン後と新規登録後のリダイレクトを変更

Last updated at Posted at 2021-04-09

こんにちは、JeffTechです。

説明

Laravelのデフォルトの機能で新規登録・ログイン機能を実装した時に、新規登録&ログインをした後のリダイレクト先は/homeになっているかと思います。
今回は、そちらを変更していこうと思います。

この記事で実現できること

  • 新規登録後のリダイレクト先変更
  • ログイン後のリダイレクト先変更

開発環境

  • MacOS Catalina
  • Laravel:6.2
  • PHP:7.3

実装の流れ

  • RegisterControllerの変更
  • LoginControllerの変更
  • 余談

実装

新規登録後のリダイレクト先指定

実は実装自体はとても簡単で、新規登録後のリダイレクト先を指定するには、下記のようにapp/Http/Controllers/Auth/RegisterController.phpのRegisterControllerクラスの一番下に、redirectPathメソッドを記述するだけです。
これを実装すると何が嬉しいかというと、新規登録後に投稿一覧画面に遷移させたり、ユーザー情報の詳細を登録させる画面に遷移させたりすることが自由にできるようになります。

RegisterController.php
<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    ーー省略ーー

    // ログイン後のリダイレクト先を記述
    public function redirectPath()
    {
        return 'リダイレクト先URL';
        return 'article/index';
    }
}

ログイン後のリダイレクト先指定

新規登録後のリダイレクト先指定とほぼ同じで、下記のようにapp/Http/Controllers/Auth/LoginController.phpのLoginControllerクラスの一番下に、redirectPathメソッドを記述するだけです。

LoginController.php
<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    ーー省略ーー

    // ログイン後のリダイレクト先を記述
    public function redirectPath()
    {
        return 'リダイレクト先URL';
        return 'article/index';
    }
}

余談

実は、RegisterController.phpLoginController.phpvendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.phpAuthenticatesUsersトレイトをuseしており、そのAuthenticatesUsersトレイトの中でさらにvendor/laravel/framework/src/Illuminate/Foundation/Auth/RedirectsUsers.phpRedirectsUsersトレイトをuseしています。
その中のredirectPahtメソッドの中にリダイレクト先の処理が書いてあります。
その処理を各コントローラで上書きすることで、上記のリダイレクト先指定を実装しています。

最後に

少しでも役に立った!という時は、いいねをポチッとして
フォローしてくださると嬉しいです、、、笑

役に立たなかった時は、怒らないでコメント頂けますと幸いです笑

Twitterもやってますので、よかったら見てみてくださいね!
https://twitter.com/jefftechsaku

2
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
2
0