ホームページ >バックエンド開発 >PHPチュートリアル >Laravelで認証後にユーザーを目的の宛先にリダイレクトするにはどうすればよいですか?
Laravel での承認後に元の宛先にリダイレクトする
ユーザーの承認後に目的の宛先にリダイレクトすることは、Web アプリケーションの一般的な要件です。 Laravel でこれを実現するには、認可の仕組みを理解し、適切なテクニックを利用する必要があります。
認可プロセス
ユーザーが保護されたルートにアクセスしようとすると、Laravel の認証ミドルウェアが、認証ミドルウェアなどはリクエストをインターセプトします。ユーザーがログインしていない場合は、ログイン ページにリダイレクトされます。
元の宛先の決定
ログイン後、ユーザーの元のページを決定する必要があります。認証プロセスが開始される前にアクセスしようとしました。 Laravel は、このための組み込み機能を提供します。
Laravel 5.3 以降
Laravel 5.3 以降、目的のヘルパー メソッドが導入されました。ログイン コントローラーで、認証が成功した後:
return redirect()->intended('/');
これにより、ユーザーは最初にアクセスしようとしていたページにリダイレクトされます。
Laravel 5 5.2 まで
Laravel 5 から 5.2 まででは、Redirect で意図された() メソッドを利用できます。 class:
return redirect()->intended('defaultpage');
意図したページが設定されていない場合は、ホームページなどの指定されたデフォルトのページにリダイレクトされます。
Laravel 4 以前
Laravel 5.3 より前では、この機能の公式サポートは不足していました。 1 つのアプローチでは、認可プロセス中に目的の URL をセッションに保存し、ログインに成功した後にその URL にリダイレクトします。
// In the authorization filter if (Auth::guest()) { Session::put('intended', Request::fullUrl()); return Redirect::guest('login'); } // In the login controller if (Auth::attempt(['email' => $email, 'password' => $password])) { $intended = Session::get('intended'); Session::forget('intended'); return Redirect::to($intended ?: 'defaultpage'); }
手動実装
この機能を手動で実装すると、ログイン後に目的の宛先を選択できるページにユーザーをリダイレクトできます。あるいは、目的のページを一時変数に保存することもできます。 (例: Cookie)、承認が成功するとすぐにユーザーをそれにリダイレクトします。
以上がLaravelで認証後にユーザーを目的の宛先にリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。