mission4/cinnamon-role

Laravel Role Package


Keywords
cinnamon-role, laravel, role-manager
License
MIT

Documentation

Cinnamon Role - Easy Role management for Laravel 5

StyleCI Packagist Packagist

Cinnamon Role is a simple Role management system built for Laravel 5 with a backend Json Api for easy implementation.

Feature List:

  • Permissions List
  • Roles list
  • Users list
  • Add Permissions and Roles
  • Connect Roles to Permissions
  • Connect Users to Roles
  • Create Gates for Permissions
  • Add Permissions to the Can and Allows methods
  • Easy Backend UI using ajax with Vue.js 2 components

Installation

Using Composer:

composer require mission4/cinnamon-role

Add the Rolable trait to the User model.

use \Mission4\CinnamonRole\Traits\Rolable;

And register your policies in the AuthServiceProvider boot() method.

public function boot()
{
    $this->registerPolicies();
    // Register CinnamonRole Permissions Policies
    CinnamonRole::registerPermissions();
    // Don't forget to import the class Mission4\CinnamonRole\CinnamonRole
}

Using the Vue Components For the UI

Using Laravel Mix.

# Publish the Vue Components to the resources/assets/js/vendor/cinnamon-role directory
php artisan vendor:publish --tag=cinnamon-role

And add the Vue Components to your app.js file and then compile your JavaScript.

Vue.component('cinnamon-role-users-table', require('./components/cinnamon-role/CinnamonRoleUsersTable.vue'));
Vue.component('cinnamon-role-permissions-table', require('./components/cinnamon-role/CinnamonRolePermissionsTable.vue'));
Vue.component('cinnamon-role-roles-table', require('./components/cinnamon-role/CinnamonRoleRolesTable.vue'));

Add these to your Blade file that you want to edit roles and permissions on.

<cinnamon-role-users-table></cinnamon-role-users-table>
<cinnamon-role-permissions-table></cinnamon-role-permissions-table>
<cinnamon-role-roles-table></cinnamon-role-roles-table>