2016-05-02 24 views
0

私はすでにリダイレクトを自分のログインフローで動作させています。しかし、私は彼が登録した後、intededページにユーザーをナビゲートしたいと思います。Laravel 5.2リダイレクト先の登録者

ユーザーがログインしていない場合に、保護されたルートにアクセスしようとすると、既に登録ページにリダイレクトされるように動作が変更されました。

しかし、登録が成功した後、彼は意図されたルートにリダイレクトされません。ログイン後、動作しています。

return redirect()->guest('/auth/register'); 

答えて

0

これは、$redirectPath変数を使用して行うことができます。単純に上記のログインに成功し、正常に登録するために使用されますあなたのAuth/AuthController.php

protected $redirectPath= '/yourURL';

リダイレクトパス内AuthControllerクラスに線の下に追加します。

あなただけの、あなたがpostRegister()機能をカスタマイズする必要がありますログイン登録後にリダイレクトしていないために欠けている場合は、次の

public function postRegister(Request $request) 
{ 
    $validator = $this->registrar->validator($request->all()); 
    if ($validator->fails()) 
    { 
     $this->throwValidationException(
      $request, $validator 
     ); 
    } 
    $this->auth->login($this->registrar->create($request->all()));  
    //Set your redirect path below 
    return redirect('/plan'); 
} 
+0

ありがとうございます - 問題は私が意図したページに行きたいということです - 例えば誰かが/ plans/5または/ plans/3にアクセスしようとしています - 彼はログイン/登録を余儀なくされます。どちらの場合も、私はそれらをプランに直接送ってほしい –

+0

@FrankProvostああ、私が見るので、彼らがログインしているかどうかにかかわらず、彼らがページにアクセスできるようにするためには/ plans/{id} ? – James

+0

実際にはありません:)ワークフローは次のようなものです:登録されていないユーザーのコール/ plans/{id} - >登録ページにリダイレクトされます - >レジスタ - >目的の/ plans/{id}にリダイレクトされます このフローは、ログインしていますが、登録していません –

0

あなたはセッションVARとして意図されたページを設定することができます。

return redirect()->guest('/auth/register')->with('intendedUrl', $request->path()); 

登録後にもう一度ピックアップしてください。

$intendedUrl = $request->session()->get('intendedUrl'); 

セッション変数をクリアすることを忘れないでください。レジスタコントローラがRegistersUsersを使用していることを確認してください

public function redirectTo() 
{ 
    $intended = Session::get('url.intended'); 

    if (!empty($intended)) { 
     Session::forget('url.intended'); 
     return $intended; 
    } 

    return 'YOUR_NORMAL_URL'; 
} 

を:あなたは$redirectTo変数を削除し、次のようにユーザーレジスタコントローラに代わりredirectTo関数を作成する必要がありLaravel 5.5では

0
return redirect()->intended('/auth/register'); 
0

public function redirectPath() 
{ 
    if (method_exists($this, 'redirectTo')) { 
     return $this->redirectTo(); 
    } 

    return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home'; 
} 

最初redirectTo機能をチェック:あなたはRegistersUsers特性で使用されているRedirectsUsers形質を確認した場合は、この機能があります。

これは誰かにとって役に立ちます。

関連する問題