人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel の Auth で ログイン後 / ログアウト後 / ログイン済 の遷移先を変更する

● Laravel の Auth で ログイン後の遷移先を変更する

1. メンバ変数で指定する場合

LoginController.php

    public $redirectTo = '/myhome/';    // ここを変更する

2. メソッドで指定する場合

LoginController.php

    public function redirectPath()
    {
        return '任意のurl';
    }

● Laravel の Auth で ログイン後の遷移先を元いたページから判別する

元にいたページは次のようにして取得できます。

        $path = \Session::pull('url.intended');

LoginController.php

    public function redirectPath()
    {
        $path = \Session::pull('url.intended');
        return $path;
    }

● Laravel の Auth で ログアウト後の遷移先を変更する

LoginController.php

次の行を追加する。( /mylogin にリダイレクトする )

    /**
     * ログアウトしたときの画面遷移先
     */
    protected function loggedOut(\Illuminate\Http\Request $request)
    {
        return redirect('/mylogin');
    }

● Laravel の Auth で ログインしようとした時すでにログイン済みだった時の遷移先を変更する

app/Http/Middleware/RedirectIfAuthenticated.php

    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/myhome');  // ここを変更する
        }
No.1483
02/22 13:46

edit