Logo Webbouw Plus

Admin permission Laravel package

mei 20, 2021

Afgelopen week heb ik een package gereleased om je Laravel applicatie uit te breiden met simpele admin permission functionaliteit.

Wat doet deze Laravel package

Na het installeren van deze package kan je een gebruiker admin maken. Door de het database veld ‘is_admin’ op 1 te zetten in de ‘users’ table.

Via User model

Via de code kan je ook admin permission geven aan een gebruiker.

$user = User::find(ID);
$user->makeAdmin(); 

Of rechten weer verwijderen van een gebruiker.

$user = User::find(ID);
$user->undoAdmin();

Middleware

Er Is een middleware ‘isAdmin’ beschikbaar zodat je routes kan afschermen/toegang geven tot alleen admin’s.

Blade directive admin permission

@isAdmin()
    I am an admin
@endisAdmin

Met deze Blade directive kan je nu content voor alleen admin’s laten zien.

Super admin

Via de config (na publishen van de config file, zie instructie Packagist/Github) kan je ook gebruiker 1 admin maken zonder dat het database veld ‘is_admin’ op 1 hoeft te staan.

'use_super_admin' => true,

Laravel is admin package installeren

  1. composer require mvd81/laravel-is-admin
  2. Run migrate om de ‘is_admin’ db kolom toe te voegen, php artisan migrate
  3. Import de trait in de User model, use Mvd81\LaravelIsAdmin\Traits\isAdmin;
  4. Geef aan dat je deze wilt gebruiken, use isAdmin;
  5. Publiceer de configuratie file, php artisan vendor:publish en kies de optie ‘Provider: Mvd81\LaravelIsAdmin\LaravelIsAdminServiceProvider’

Packagist pagina, https://packagist.org/packages/mvd81/laravel-is-admin

Vragen/suggesties?

Heb je nog vragen, suggesties of verbeteringen? Laat een reactie achter of stuur mij een berichtje.

WEBBOUWPLUS

Marcel van Doornen - Freelance Laravel developer
Marcel van Doornen, freelance Laravel developer
Ben je benieuwd hoe ik jou kan helpen?
Neem contact met mij op