ホームページ > バックエンド開発 > PHPチュートリアル > Laravelログイン後にユーザーを元の宛先にリダイレクトするにはどうすればよいですか?

Laravelログイン後にユーザーを元の宛先にリダイレクトするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-30 17:37:11
オリジナル
417 人が閲覧しました

How to Redirect Users to Their Original Destination After Laravel Login?

Laravel: ログイン後にユーザーを元の宛先にリダイレクトします

Laravel では、ユーザーが保護されたルートにアクセスしようとすると、次の宛先にリダイレクトされます。ログインページ。ログイン後、ユーザーは最初にアクセスしようとしていたページにリダイレクトされるはずです。

解決策

Laravel 5.3 以降の場合

  • ログイン アクションで目的のメソッドを使用して、ユーザーを目的の場所にリダイレクトします。ページ。例:
// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return redirect()->intended('dashboard');
    }

    return redirect('login');
}
ログイン後にコピー

Laravel 5 5.2 までの場合

  • にリダイレクトする前に、要求された URL をセッションに保存するように認証ミドルウェアを変更します。ログイン ページ。
  • ログイン アクションで、意図したメソッドを使用してリダイレクトします。ユーザーは意図したページに戻るか、デフォルトのページがない場合はそのページに戻ります。例:
// Auth middleware
public function handle($request, Closure $next)
{
    if (Auth::guest()) {
        Session::put('intended_url', request()->url());
        return redirect('login');
    }

    return $next($request);
}

// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return redirect()->intended('dashboard');
    }

    return redirect('login');
}
ログイン後にコピー

Laravel 4 の場合

  • 認証フィルターで Redirect::guest メソッドを使用して、ユーザーをログインにリダイレクトしますページを開き、要求された URL をセッションに保存します。
  • ログイン アクションでは、 Redirect::intended メソッドは、ユーザーを目的のページにリダイレクトするか、デフォルト ページがない場合はそのページにリダイレクトします。例:
// Auth filter
Route::filter('auth', function($route, $request) {
    if (Auth::guest())
    {
        Session::put('intended_url', request()->url());
        return Redirect::guest('login');
    }
});

// Login action
public function login(Request $request)
{
    if (Auth::attempt($request->all())) {
        return Redirect::intended('dashboard');
    }

    return Redirect::to('login');
}
ログイン後にコピー

以上がLaravelログイン後にユーザーを元の宛先にリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート