2016-03-24 11 views
1

Ich habe gerade eine Laravel 5.2 Anwendung gestartet. Jede Route, die ich führe (/ Registrieren,/Abmelden, Anmelden, ...) leitet mich auf die Homepage weiter.Laravel 5.2 - Jede Route führt zur Homepage

Hier sind meine Routen

<?php 
Route::group(['middleware' => ['web']], function() { 
//Register 
    Route::get('/register', 'Auth\[email protected]'); 
    Route::get('/register/success', 'Auth\[email protected]'); 

    Route::post('/register', 'Auth\[email protected]'); 

//Login 
    Route::get('/login', 'Auth\[email protected]'); 

    Route::post('/login', 'Auth\[email protected]'); 

//Password Reset 
    Route::get('/password/reset/email', 'Auth\[email protected]'); 
    Route::get('/password/reset/{token}', 'Auth\[email protected]'); 
    Route::get('/password/reset/sent', 'Auth\[email protected]'); 

    Route::post('/password/reset/email', 'Auth\[email protected]'); 
    Route::post('/password/reset', 'Auth\[email protected]'); 
}); 


Route::group(['middleware' => ['web', 'auth']], function() { 
    Route::get('/logout', 'Auth\[email protected]'); 
}); 

Route::get('/', function() { 
    return view('welcome'); 
}); 

wenn ich entfernen Sie die Route::group(['middleware' => ['web']], function() { Linie, die ich auf die Seite zugreifen kann, aber es gibt mir den Fehler

Undefined variable: Fehler

Deshalb ist die Web Middelware erforderlich, also bin ich irgendwie festgefahren.

Die Steuerung und die Ansichten funktionieren. Es ist nur diese Weiterleitung, die ich nicht herausfinden kann.

Danke für Ihre Hilfe!

+0

Ihrer Route, die Rückkehr 'welcome' Seite sein muss, bevor andere Routen – Veniamin

Antwort

2

Sie müssen Änderungen an Ihrem AuthController vornehmen und angeben, wohin Sie weitergeleitet werden sollen.

Dann müssen Sie diese Sie in jedem Controller hinzufügen:

public function __construct() { $this->middleware('auth'); } 
+0

versucht, aber ohne Erfolg. – Nicolas

+0

das hat funktioniert! Kann ich kurz erklären, was es genau macht? Vielen Dank! – Nicolas

+0

Wie bei jeder Konstrukt-Funktion wird diese Funktion bei jedem Controller automatisch aufgerufen. Dies bedeutet, dass Sie angemeldet sind und diese Methode von dieser Route aus verwenden können. Im sry für mein schlechtes eng, ich hoffe, dass Sie verstehen –

0

Sie haben eine Klinge Vorlage wie auth.blade.php in Ressourcen/Ansichten zu machen. Dann müssen Sie den Blick von Ihrem Controller mit einer Rückkehr machen wie:

public function getLogin(){ 
     return view(
      "auth", 
      [ 
       'username' => username, 
       'password' => password 
      ] 
     ); 
} 
Verwandte Themen