後にリダイレクトするには、ユーザーが正常に認証されるとドキュメントLaravelはここでログイン
が、彼らは
/home
URIを にリダイレクトされますです。あなたはRegisterController
、LoginController
にredirectTo
プロパティを定義することで 場所をリダイレクトし、ResetPasswordController
認証後をカスタマイズすることができます。
protected $redirectTo = '/';
リダイレクトパスがカスタム 生成ロジックが必要な場合は、代わりに
redirectTo
メソッドを定義することができ:
protected function redirectTo() { // }
redirectTo
財産の
だから私は
protected function redirectTo()
{
if (\Auth::user()->isAdmin()) {
return '/dashboard';
} else {
return '/home';
}
}
それを定義した。しかし、あなたが推測することとして、それは動作しません。常に/home
にリダイレクトされます。ソースを通って行く
は、私はこの
namespace Illuminate\Foundation\Auth;
trait AuthenticatesUsers
{
...
/**
* Send the response after the user was authenticated.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendLoginResponse(Request $request)
{
$request->session()->regenerate();
$this->clearLoginAttempts($request);
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectPath());
}
...
}
を発見し、これはredirectTo
方法をチェックところ、私は見つけることができません$this->redirectPath()
namespace Illuminate\Foundation\Auth;
trait RedirectsUsers
{
/**
* Get the post register/login redirect path.
*
* @return string
*/
public function redirectPath()
{
return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
}
}
の実装です。
私はLaravel 5.3.28、BTWを使用しています。
提案がありますか?
EDIT
私は5.3.29にあったのに対し、これは、5.3.29で修正されました。それでも私はそれを助けることはできませんが、ドキュメントに何か問題があると思うか、またはlaravel
がLaravelプロジェクトを作成するために作成したヘルパーです。私はプロジェクトを生成するためにそれを使っていましたが、最新バージョンではありませんでした。 5.3では
私はそこに空の機能を気付かなかった、ありがとう。 – vfsoraki
@vfsorakiそれは 'AuthenticateUsers'特性とここに ' return $ this-> authenticated($ request、$ this-> guard() - > user()) ?:redirect() > redirectPath()); '空の関数はどういう意味ですか? –
私はそれが空の関数として実装されたことを意味しました。重要なことは何もない :) – vfsoraki