ACL API and interface
![Software License][ico-license], (*1)
Requirements
PHP >= 5.5.9
Laravel >=5.2
Auto Loaded : [laravelcollective/html package for form & html](https://laravelcollective.com/docs/5.2/html)
Thanks
This package is based on @heerasheikh post :
http://heera.it/laravel-5-1-x-acl-middleware#.Vwxunpl95TH
with some fixes , improvment and interface
Installation
1.Run
``` bash
composer require zezont4/laravel-acl, (*2)
2.Add service provider & Aliases to **/config/app.php** file.
``` php
'providers' => [
\\ Other Providers,
Zezont4\ACL\ACLServiceProvider::class,
Collective\Html\HtmlServiceProvider::class,
],
'aliases' => [
\\ Other Aliases,
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,
],
3.Add acl middleware to **app\Http\Kernel.php **
``` php
protected $routeMiddleware = [
\ Other routeMiddleware,
'acl' => \Zezont4\ACL\Http\Middleware\CheckPermission::class,
];, (*3)
4.use UserTrait **app\User.php**
``` php
class User extends Authenticatable
{
use \Zezont4\ACL\Models\UserTrait;
\\ the rest of the class
}
5.Publish assets and config file
``` bash
php artisan vendor:publish --provider="Zezont4\ACL\ACLServiceProvider" --tag="config" --tag="assets", (*4)
6.Use it like this in your routs
``` php
Route::get('/users', [
'middleware' => 'acl:manage_user',
'as' => 'users.all',
'uses' => 'UserController@index'
]);
Blade directive
php
@hasRole('manager')
....
@endhasRole, (*5)
Credits
License
The MIT License (MIT). Please see License File for more information., (*6)