2016-02-13 47 views
5

Chcę, aby goście mieli dostęp do strony głównej, ale w procesie uwierzytelniania wbudowanym przekierowuje się do strony logowania. w jaki sposób mogę zapewnić użytkownikom-gościom dostęp do strony głównej?wyłączanie oprogramowania pośredniego dla określonych tras w systemie Linux 5.2

mój routes.php:

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

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

Route::get('/insert', '[email protected]'); 
Route::get('/job/{id}', '[email protected]'); 

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

Route::post('/insert', '[email protected]'); 
Route::get('/cityinsert', '[email protected]'); 
Route::post('/cityinsert', '[email protected]'); 

}); 

i authenticate.php

class Authenticate 
{ 
/** 
* Handle an incoming request. 
* 
* @param \Illuminate\Http\Request $request 
* @param \Closure $next 
* @param string|null $guard 
* @return mixed 
*/ 
public function handle($request, Closure $next, $guard = null) 
{ 
    if (Auth::guard($guard)->guest()) { 
     if ($request->ajax()) { 
      return response('Unauthorized.', 401); 
     } else { 
      return redirect()->guest('login'); 
     } 
    } 

    return $next($request); 
} 
} 

a to mój kernel.php

class Kernel extends HttpKernel 
{ 
/** 
* The application's global HTTP middleware stack. 
* 
* These middleware are run during every request to your application. 
* 
* @var array 
*/ 
protected $middleware = [ 
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
]; 

/** 
* The application's route middleware groups. 
* 
* @var array 
*/ 
protected $middlewareGroups = [ 
    'web' => [ 
     \App\Http\Middleware\EncryptCookies::class, 
     \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
     \Illuminate\Session\Middleware\StartSession::class, 
     \Illuminate\View\Middleware\ShareErrorsFromSession::class, 
     \App\Http\Middleware\VerifyCsrfToken::class, 
    ], 

    'api' => [ 
     'throttle:60,1', 
    ], 
]; 

/** 
* The application's route middleware. 
* 
* These middleware may be assigned to groups or used individually. 
* 
* @var array 
*/ 
protected $routeMiddleware = [ 
    'auth' => \App\Http\Middleware\Authenticate::class, 
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 
]; 
} 
+0

pokazać jądra .php oraz –

+0

Dodałem plik jądra –

Odpowiedz

6

Zdjąć middleware od HomeController konstruktem:

class HomeController extends Controller 
{ 
    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     //$this->middleware('auth'); 
    } 
} 
9

Dodaj wyjątek w deklaracji middleware w konstrukcie

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

na powyższej trasie mają być zwolnione z uwierzytelnianiem należy podać nazwę stanowiska do middleware jak poniżej

class HomeController extends Controller 
{ 
    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('auth', ['except' => 'index']); 
    } 
} 
+0

Ok na Laravel 5.2 –

+0

Ok na Laravel 5.5 również –