2016-10-01 6 views
1

In meiner Anwendung verwende ich die Standard-Authentifizierung mit Laravel 5.3. Ich habe zwei Orte, an denen sich ein Benutzer anmelden kann und ich möchte im Falle einer fehlgeschlagenen Anmeldung nur zu einem dieser beiden Orte umleiten. Mit anderen Worten: Unabhängig von der Ansicht, in der sich ein Benutzer anmeldet, werden ungültige Absenderinformationen immer an eine bestimmte Ansicht weitergeleitet, und nicht an die Ansicht, von der aus das Formular gesendet wurde. In Laravel 5.1 sieht es so aus, als könnte man die $loginPath Variable in den Login Controller einfügen. In Laravel 5.3 scheinen sie diese Option aus der Dokumentation genommen zu haben, so dass ich mir nicht mehr sicher bin, wie ich das angehen soll.Laravel 5.3 - Fehlgeschlagene Login-Versuch Umleitung

Alle Gedanken und/oder Ratschläge werden sehr geschätzt. Vielen Dank!

Antwort

4

Edit: Ich habe Ihre ursprüngliche Frage missverstanden. Dies wird aktualisiert.

Wenn Sie diese anpassen müssen, können Sie so etwas wie tun:

öffnen App\Http\Controllers\Auth\LoginController (als per the docs dies durch die php artian make:auth Befehl Thay erzeugt worden wäre, ich nehme an, Sie verwendet) und fügen Sie diese:

/** 
* 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'), 
     ]); 
} 

Dies wird die gleiche Methode überschreiben, die in \Illuminate\Foundation\Auth\AuthenticatesUsers Eigenschaft, dass LoginController Anwendungen enthalten ist. Die redirect()->to('/the_redirect_location') ist der Teil, den ich geändert habe. Ursprünglich ist es: redirect()->back().

Wenn Sie diese Methode verwenden, müssen Sie diese an der Spitze der LoginController hinzuzufügen:

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

Danke, das funktioniert für mich auch in Laravel 5.4. – Nebster