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
- composer require mvd81/laravel-is-admin
- Run migrate om de ‘is_admin’ db kolom toe te voegen, php artisan migrate
- Import de trait in de User model, use Mvd81\LaravelIsAdmin\Traits\isAdmin;
- Geef aan dat je deze wilt gebruiken, use isAdmin;
- 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.