2017-07-26 5 views
1

Ich habe meine Middleware erstellt, registriert es in Kernel.php (MiddlewareGroups und in RouteMiddleware Arrays), aber es tut nichts.Laravel Middleware funktioniert nicht

Kernel.php/middlewareGroups

'CheckAdmin' => [ 
    \App\Http\Middleware\CheckUserIfAdmin::class, 
], 

Kernel.php/routeMiddleware

'CheckAdmin' => \App\Http\Middleware\CheckUserIfAdmin::class, 

web.php

Route::group(['middleware' => ['CheckAdmin']], function() { 
    Route::get('/admin', [ 
     'uses' => '[email protected]', 
     'as' => 'adminpage' 
    ]); 
}); 

meine Middleware:

<?php 

namespace App\Http\Middleware; 

use Closure; 

class CheckUserIfAdmin 
{ 
    public function handle($request, Closure $next) 
    { 
     if(Session::has('ad_id') === false): 
      return redirect()->route('admin.login'); 
     endif; 


     return $next($request); 
    } 
} 
+0

Gibt es einen Fehler entdeckt? –

+0

@GovindSamrow nein es tut nichts, wie ich sagte –

+0

Was meinst du damit nichts tut? Wird die Middleware nicht ausgeführt? Wenn Sie nicht sicher sind, versuchen Sie, etwas wie 'dd (1);' als erste Zeile in die 'handle()' Methode zu setzen, um zu sehen, ob diese Methode ausgeführt wird. –

Antwort

0

Es wird Syntaxfehler in Middleware entfernen endif;:

class CheckUserIfAdmin 
{ 
    public function handle($request, Closure $next) 
    { 
     if(Session::has('ad_id') === false): 
      return redirect()->route('admin.login'); 

     return $next($request); 
    } 
} 
+0

Noch Nichts habe ich versucht, jede mögliche Lösung, aber es funktioniert nicht. –

Verwandte Themen