dasperg/laravel-role

Laravel 5.7 native User Authentication + Role Authorization

Downloads

51

Stars

0

Version

1.1.0

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
dasperg

Author

dasperg