2016-10-01 13 views
1

私のアプリケーションでは、Laravel 5.3でデフォルト認証を使用しています。ユーザーがログインできる場所は2つあります。ログインに失敗した場合は、その2つの場所のいずれかにリダイレクトする必要があります。言い換えれば、ユーザーがログインするビューが何であっても、無効な資格情報を送信すると、フォームを送信したビューではなく、常に特定のビューにリダイレクトされます。 Laravel 5.1では、$loginPath変数をログインコントローラに含めることでこれが実現できるように見えます。 Laravel 5.3では、彼らはドキュメンテーションからそのオプションを取り除いたように見えるので、私はもうこれに近づく方法がわかりません。Laravel 5.3 - 失敗したログイン試行リダイレクト

ご意見やご忠告をいただければ幸いです。ありがとう!

答えて

4

編集:私は元の質問に誤解しました。これが更新されます。

あなたがこれをカスタマイズする必要がある場合は、あなたのような何かを行うことができます:

オープンApp\Http\Controllers\Auth\LoginControllerper the docsとして、これは私はあなたが使用すると仮定していphp artian make:authコマンド持ち運びにくいによって生成されていたであろう)と、この追加:

/** 
* Get the failed login response instance. 
* 
* @param \Illuminate\Http\Request $request 
* @return \Illuminate\Http\Response 
*/ 
protected function sendFailedLoginResponse(Request $request) 
{ 
    return redirect()->to('/the_redirect_location') 
     ->withInput($request->only($this->username(), 'remember')) 
     ->withErrors([ 
      $this->username() => Lang::get('auth.failed'), 
     ]); 
} 

\Illuminate\Foundation\Auth\AuthenticatesUsers特性に含まれているのと同じ方法を上書きします(LoginController)。 redirect()->to('/the_redirect_location')は私が変更した部分です。もともと、それは:redirect()->back()です。

あなたがこの方法を使用することを選択した場合、LoginControllerの先頭にこれを追加してください:

use Lang; 
use Illuminate\Http\Request; 
+1

が、これはLaravel 5.4にも私の作品、ありがとうございます。 – Nebster

関連する問題