2017 © Pedro Peláez
 

library acl

Laravel 5.2 ACL

image

aldozumaran/acl

Laravel 5.2 ACL

  • Friday, July 8, 2016
  • by aldozumaran
  • Repository
  • 1 Watchers
  • 2 Stars
  • 130 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

Acl

Laravel 5.2 Acl, (*1)

Installation

Add to composer.json, (*2)

"aldozumaran/acl": "1.*"

Run "composer update", (*3)

Add to config/app.php providers, (*4)

AldoZumaran\Acl\AclServiceProvider::class,

Add to config/app.php aliases, (*5)

'Acl' => AldoZumaran\Acl\Facades\Acl::class,

Add Middleware in kernel.php, (*6)

'acl' => \AldoZumaran\Acl\Http\Middleware\AclMiddleware::class,

In User model add this Trait, (*7)

use AldoZumaran\Acl\Traits\AclUserTrait;
class User extends Authenticatable
{

    use AclUserTrait;

Publish views, Model..., (*8)

php artisan vendor:publish

Change .env file, (*9)

CACHE_DRIVER=array

And create acl tables:, (*10)

/*
    //Optional: use seed (AclTableSeeder)
    // Create default permissions (read, update, create, destroy),
    // Create super-admin role
    // Create test route
    // Create default user
    // Add permissions to default user for test route

Add in database/seeds/DatabaseSeeder.php, (*11)

    $this->call(AclTableSeeder::class);

Add in database/factories/ModelFactory.php, (*12)

    $factory->define(App\Models\Acl\Role::class, function (Faker\Generator $faker) {
        return [
            'code' => $faker->word,
            'name' => $faker->name,
            'description' => $faker->paragraph,
        ];
    });
    $factory->define(App\Models\Acl\Permission::class, function (Faker\Generator $faker) {
        return [
            'code' => $faker->word,
            'name' => $faker->name,
            'description' => $faker->paragraph,
        ];
    });
    $factory->define(App\Models\Acl\Section::class, function (Faker\Generator $faker) {
        return [
            'code' => $faker->word,
            'name' => $faker->name,
            'description' => $faker->paragraph,
        ];
    });
    $factory->define(App\Models\Acl\PermissionRoleSection::class, function (Faker\Generator $faker) {
        return [
            'permission_id' => 1,
            'role_id' => 1,
            'section_id' => 1,
        ];
    });
    $factory->define(App\Models\Acl\PermissionSectionUser::class, function (Faker\Generator $faker) {
        return [
            'permission_id' => 1,
            'section_id' => 1,
            'user_id' => 1,
        ];
    });
*/

composer dump-autoload, (*13)

php artisan migrate --seed, (*14)

Add ACL routes and test route, (*15)

Route::group(['middleware' => ['web']], function () {
    \Acl::routes();

    Route::group(['middleware' => ['auth','acl']], function () {
        Route::resource('test/custom','CustomController'); // TEST ROUTE
    });
});

Default Configuration in config/acl.php, (*16)

//Set your named routes <b>permissions</b> (route actions), defaults are:
'permissions' => [
    'index' => 'read',
    'create' => 'create',
    'store' => 'create',
    'show' => 'read',
    'edit' => 'update',
    'update' => 'update',
    'destroy' => 'destroy',
    'read_update' => ['read','update'],
],

//If permission not exists, redirect to index
'redirect_to_index' => true,

// L5.2 Guard auth
'guard' => 'web',

//Set the auth model namespace
'user' => '\App\User',

//route acl prefix . EX. admin/ set admin
'route_prefix' => '', 

// acl urls
'routes' => [
    'roles' => 'acl/roles',
    'users' => 'acl/users',
    'sections' => 'acl/sections',
    'permissions' => 'acl/permissions',
    'index' => 'acl',
],

// roles with access to acl
'granted_roles' => '', // 'admin' or 'admin,webmaster' or ['admin','webmaster']

// super admin role
'role_admin' => 'super-admin',
'email_admin' => 'i@am.me',

// http status error 
'http_status' => 403,

Usage

Go to /acl/ (Default configuration), (*17)

This plugin works with named routes, (*18)

Create a TEST ROUTE controller, (*19)

php artisan make:controller CustomController --resource


// Route::resource('test/custom','CustomController');

generate test.custom.index, test.custom.create, test.custom.store, ..., (*20)

Add in Section: /acl/sections (prefix resource controller) or (use AclTableSeeder), (*21)

test.custom

Add Permissions in /acl/permissions or (use AclTableSeeder), (*22)

read, update, create, destroy

Add Roles in /acl/roles or (use AclTableSeeder), (*23)

The Versions

08/07 2016

dev-master

9999999-dev

Laravel 5.2 ACL

  Sources   Download

The Requires

 

by Aldo Zumaran

08/07 2016

v1.1.3

1.1.3.0

Laravel 5.2 ACL

  Sources   Download

The Requires

 

by Aldo Zumaran

30/03 2016

v1.1.2

1.1.2.0

Laravel 5.2 ACL

  Sources   Download

The Requires

 

by Aldo Zumaran

30/03 2016

v1.1.1

1.1.1.0

Laravel 5.2 ACL

  Sources   Download

The Requires

 

by Aldo Zumaran

30/03 2016

1.1

1.1.0.0

Laravel 5.2 ACL

  Sources   Download

The Requires

 

by Aldo Zumaran

30/03 2016

1.0

1.0.0.0

Laravel 5.2 ACL

  Sources   Download

The Requires

 

by Aldo Zumaran