laravel-role maintained by dasperg
Laravel simple role handling & middleware
Installation:
This package can be used in Laravel 5.7 or higher.
You can install the package via composer:
composer require dasperg/laravel-role
Create the role tables by running the migrations:
php artisan migrate
Add RoleTrait to your User model:
use Dasperg\Role\RoleTrait;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use RoleTrait;
// ...
}
Register middleware in app/Http/Kernel.php file:
protected $routeMiddleware = [
// ...
'role' => Dasperg/Role/RoleMiddleware::class,
];
Usage
Controller:
class HomeController extends Controller
{
public function __construct()
{
$this->middleware('role:admin');
// $this->middleware('role:admin,editor'); // example for multiple roles
}
...
Route:
Route::get('/', 'HomeController@index')->middleware('role:admin');
Seeding (optional)
You can publish example seeder:
php artisan vendor:publish --provider="Dasperg\Role\RoleServiceProvider" --tag="seeds"
Don't forget to dump autoloader:
composer dump-autoload
Now you can seed data:
php artisan db:seed --class=RolesTableSeeder