Laravel 5 Admin Middleware (is_admin gebruikerscontrole)

Wilt u middleware die ervoor zorgt dat alleen gebruikers met een is_admin = 1 status de admin sectie kunnen zien? Dan kunt u de volgende code gebruiken:

app/Http/Middleware/AdminMiddleware.php

is_admin == 1) { return $next($request); } return redirect()->guest('/'); } }

Zorg ervoor dat je de middleware registreert als een route in app/Http/Kernel.php

beschermd $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::klasse, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::klasse, 'gast' => \App\Http\Middleware\RedirectIfAuthenticated::klasse, 'admin' => \App\Http\Middleware\AdminMiddleware::klasse ];

Wijs deze middleware ten slotte toe in routes.php naast de auth-middleware, aangezien de admin-middleware een uitbreiding is op de auth-middleware.

App/Http/routes.php

Route::group(['prefix' => 'administratie', 'middleware' => ['auth', 'admin']], functie() { Route::get('/', 'Admin\HomeController@index'); }

Als u suggesties heeft om deze codering efficiënter te maken, kunt u hieronder een reactie achterlaten.

12 gedachten over “Laravel 5 Admin Middleware (is_admin user check)”

  1. Erg nuttig. Ik wil nog een belangrijke stap toevoegen.

    @if(\Auth::gebruiker()->admin==1)
    Ingelogd als Admin
    @anders
    U bent ingelogd!
    @endif

    Voeg dit toe aan uw home.blade.php om te controleren of de gebruiker een beheerder of gastgebruiker is.

  2. Ik gebruik Laravel 5.3.
    Ik heb adminMiddleware toegevoegd in app/Http/Kernel.php.

    beschermd $routeMiddleware = [
    'auth' => \Illuminate\Auth\Middleware\Authenticate::klasse,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::klasse,
    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::klasse,
    'kan' => \Illuminate\Auth\Middleware\Authorize::klasse,
    'gast' => \App\Http\Middleware\RedirectIfAuthenticated::klasse,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::klasse,
    'admin' => \App\Http\Middleware\AdminMiddleware::klasse,
    ];
    Maar het werkt niet.
    Foutmelding is
    Klasse 'App\Http\Middleware\Auth' niet gevonden
    Wat is dit?

  3. beschermd $middlewareGroups = [
    'web' => [
    \Project1\Http\Middleware\EncryptCookies::klasse,
    \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::klasse,
    \Illuminate\Sessie\Middleware\StartSessie::klasse,
    // \Illuminate\Sessie\Middleware\AuthenticateSession::klasse,
    \Illuminate\View\Middleware\ShareErrorsFromSession::klasse,
    \Project1\Http\Middleware\VerifyCsrfToken::klasse,
    \Illuminate\Routing\Middleware\SubstituteBindings::klasse,

    \Project1\Http\Middleware\AdminMiddleware::class, // HIER MOET JE TOEVOEGEN
    ],

    'api' => [
    'gas:60,1',
    'bindingen',
    ],
    ];

  4. Erg handig. Ik wil graag een andere login-weergave maken voor admin en gebruiker met behulp van Admin Middleware. Wanneer admin inlogt in de backend, logt hij automatisch ook in op de frontend, maar wanneer de frontend-gebruiker probeert toegang te krijgen tot de backend, kan hij geen toegang krijgen tot admin. Kan iemand mij helpen met dit probleem?

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

nl_NLNederlands
Scroll naar boven