2017-08-13 14 views
0

私はlaravel 5でミドルウェアを定義しています。しかし、ログインすると私はダッシュボードにリダイレクトされますが、ダッシュボードは表示されず、エラーが発生しました。私はそれの写真をアップロードしています。 http://imgur.com/a/1fCwtLaravel 5ミドルウェアが正しく動作しない

AdminAuth.php

<?php 
namespace App\Http\Middleware; 
use Closure; 
use Auth; 
class AdminAuth 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @return mixed 
    */ 
    public function handle($request, Closure $next) 
    { 
     if(Auth::check()) 
     { 
      $user = Auth::user(); 
      return redirect()->route('admin_display_dashboard'); 
     } else { 
      return redirect()->route('admin_display_login'); 
     } 
    } 
} 

Kernel.php

<?php 
namespace App\Http; 
use Illuminate\Foundation\Http\Kernel as HttpKernel; 
class Kernel extends HttpKernel { 
    protected $middleware = [ 
     \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
    ]; 
    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', 
     ], 
    ]; 
    protected $routeMiddleware = [ 
     'auth' => \App\Http\Middleware\Authenticate::class, 
     'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 
     'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, 
     'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 
     'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 
     'adminAuth' => \App\Http\Middleware\AdminAuth::class, 
    ]; 
} 

がRoute.php

(あなたadmin_display_dashboardに何
Route::group(['middleware' => ['adminAuth']], function() { 

Route::get('admin/dashboard', array('as'=>'admin_display_dashboard', 'uses'=>'[email protected]')); 

}); 
+0

を試してみてください。私はあなたがそこに無限ループで立ち往生していると思う。これらはミドルウェアとの間でよくある間違いです。条件を再確認し、変更があるかどうか確認してください。 – Gokigooooks

答えて

1

)とadmin_display_login()、あなたは必ずそこにはリダイレクトなどはありません。

一方ページでは、あまりにも多くの時間をリダイレクトされていると言うこの

if(!Auth::check()) 
{ 

    return redirect()->route('admin_display_login'); 
} 

$user = Auth::user(); 

return $next($request); 
関連する問題