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

Laravel認証後にユーザーを前のページにリダイレクトするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-30 18:05:13458ブラウズ

How to Redirect Users Back to the Previous Page After Laravel Authentication?

Laravel: ログイン後に前のページにリダイレクト

質問:

どのようにリダイレクトできますかLaravel認証が発生する前にユーザーがアクセスしようとしていたページに戻るfilter?

答え:

Laravel 5.3 以降の場合:

request() を使用して目的のページにリダイレクトします。 >意図した()、例:

// Auth middleware
if (!Auth::check()) {
    return redirect()->intended('login');
}

// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('/');
}

Laravel 5 ~ 5.2 の場合:

  1. 認証ミドルウェアでは、「login」にリダイレクトし、元の URL をsession:
// Auth middleware
if (!Auth::check()) {
    return redirect()->guest('login');
}
  1. ログインアクションで、目的のページまたはデフォルトページにリダイレクトします:
// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return redirect()->intended('defaultpage');
}

Laravel 4 の場合:

  1. 認証フィルターで、次のようにリダイレクトします。 「ログイン」して元の URL をセッションに保存します:
// Auth filter
Route::filter('auth', function() {
    if (!Auth::check()) {
        return Redirect::guest('login');
    }
});
  1. ログイン アクションで、目的のページまたはデフォルト ページにリダイレクトします:
// Login action
if (Auth::attempt(['email' => $email, 'password' => $password])) {
    return Redirect::intended('defaultpage');
}

Laravel の場合3:

  1. 認証フィルターで、現在の URL をセッションに保存し、ログイン ページにリダイレクトします。
// Auth filter
Route::filter('auth', function() {
    if (!Auth::check()) {
        Session::put('redirect', URL::full());
        return Redirect::to('/login');
    }
});
  1. ログイン アクション、目的のページまたはデフォルト ページにリダイレクトします:
// Login controller
public function get_login() {
    // ...
}

public function post_login() {
    // ...

    if (Auth::attempt($credentials)) {
        $redirect = Session::get('redirect');
        Session::forget('redirect');

        if ($redirect) {
            return Redirect::to($redirect);
        } else {
            return Redirect::to('defaultpage');
        }
    }

    // ...
}

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。