2016-03-19 26 views
-1

Ich erstelle die Auth-Klasse von Laravel und jetzt würde ich gerne wissen, wie kann ich die/register Seite nur für Benutzer, die sich im System einloggen?Laravel 5.2 - Route Authentifizierung

meine Routen sind:

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

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

Sie können Middlewares dafür verwenden –

Antwort

0

Für beglaubigen url nur auth Middleware hinzufügen, die nach dem in einem angemeldeten Benutzer arbeiten. Befolgen Sie den folgenden Code:

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

Sie müssen eine Middleware verwenden, um die Benutzer zu filtern. Bei der Authentifizierung gibt es eine eingebaute in Middle ‚Auth‘ genannt Sie von Middle in Gruppe filtern können als AnowarCst Sie zeigte oder in einzelnen Routen wie folgt aus:

Route::get('/register', [ 
      'middleware' => 'auth', 
      '[email protected]' 
      ]); 

die Dokumentation lesen zu besser verstehen MIDDLEWARE.

Haben Sie keine Angst, es ist einfacher als es aussieht. :)

0

löste ich das Problem mit diesem:

public function __construct() 
{ 
     $this->middleware('guest', ['except' => ['logout', 'register', 'showRegistrationForm']]); 
     $this->middleware('auth', ['only' => ['register', 'showRegistrationForm']]); 
} 

Und mein routes.php

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

Route::group(['middleware' => 'web'], function() { 
    Route::Auth(); 

    Route::get('/dashboard', '[email protected]'); 
}); 

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

Danke Jungs.