Laratrust is a Laravel (>=5.6) package that lets you handle very easily everything related with authorization (roles and permissions) inside your application. All of this through a very simple configuration process and API.
You can see here some examples:
$adminRole = Role::where('name', 'admin')->first(); $editUserPermission = Permission::where('name', 'edit-user')->first(); $user = User::find(1); $user->attachRole($adminRole); // Or $user->attachRole('admin'); $user->attachPermission($editUserPermission); // Or $user->attachPermission('edit-user');
You can also check if a user has some permissions or roles:
$user->can('edit-user'); $user->isAbleTo('edit-user'); $user->hasRole('admin'); $user->isA('guide'); $user->isAn('admin');
It also supports teams, multiple users, objects ownerships and it is compatible with Laravel's policies system.