merodiro / simple-roles
Simple laravel roles
Requires
- php: ~7.0
- illuminate/support: ~5.6
Requires (Dev)
- graham-campbell/testbench: ^5.0
- phpunit/phpunit: ~7.0
- squizlabs/php_codesniffer: ^3.2
This package is not auto-updated.
Last update: 2024-12-19 02:34:12 UTC
README
SimpleRoles is a simple way to have roles in your laravel projects.
Installation
Via Composer
$ composer require merodiro/simple-roles
Run the command to publish the package migration
php artisan vendor:publish --provider="Merodiro\SimpleRoles\SimpleRolesServiceProvider"
Migrate database
It assumes that users are in the users
table, if not you can change the config file
php artisan migrate
add middleware in app/Http/Kernel.php
protected $routeMiddleware = [ ... 'role' => \Merodiro\SimpleRoles\Middleware\RoleMiddleware::class, ];
Usage
add roles to roles
array in simple-roles config file first
Set Role
$user->setRole('admin');
Remove Role
$user->removeRole();
Has Role
if($user->hasRole('admin')){ // do something }
Blade Templates
to show content to admins only
@role('admin') <h3>this is visible to admins only</h3> @endrole
to show different content to admins and non-admins users
@role('admin') <h3>this is visible to admins only</h3> @else <h3>this is visible to non admins only</h3> @endrole
middleware
you can use middleware to limit accessing a certain route to admins only
Route::get('/admin', function () { ... })->middleware('role:admin');
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security-related issues, please email merodiro@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.