PHP code example of resultsystems / acl

1. Go to this page and download the library: Download resultsystems/acl library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

resultsystems / acl example snippets


php artisan vendor:publish --provider="ResultSystems\Acl\AclServiceProvider"

Route::post('/users', ['middleware' => ['auth', 'needsPermission'],
    'permission'               => ['user.read', 'user.create'],
    'any'                      => false, //usuário precisará ter as duas permissões
    /**
     * Caso a configuração em `config/acl.php`
     * middleware->autoload for true,
     * você poderá omitir a informação da owner_id
     */
     'owner_id'                => 'middleware', /*
    function () {
        dd('Tenho permissão');
    }]);

Route::post('/users', ['middleware' => ['auth', 'needsPermission'],
    'permission'               => ['user.read', 'user.create'],
    'any'                      => false, //usuário precisará ter as duas permissões
    'owner_id'                => 1, // Empresa/filial *
    function () {
        dd('Tenho permissão');
    }]);

Route::get('/users', [
    'middleware' => ['auth', 'needsPermission:user.read|user.create,true,5'],

    function () {
        dd('Tenho permissão');
    }]);

    //needsPermission=middleware
    //user.read=permissão user.read
    //user.create=permissão user.create
    //any=true Usuário pode ter qualquer das permissões informadas
    //5=Filial/Empresa

Route::post('/users', ['middleware' => ['auth', 'needsPermission'],
    'permission'               => ['user.read', 'user.create'],
    'any'                      => false, //usuário precisará ter as duas permissões
    'owner_id'                => 'middleware', //*
    function () {
        dd('Tenho permissão');
    }]);

if (Auth::user()->hasPermission('user.create')) {
    echo 'tenho permissão';
}

if (Auth::user()->hasPermissions(['user.create', 'user.update'])) {
    echo 'tenho pelo menos uma das permissões';
}

if (Auth::user()->hasPermissions(['user.create', 'user.update'], false)) {
    echo 'tenho ambas as permissões';
}

if (Auth::user()->hasPermissions(['user.create', 'user.update'], false, 1)) {
    echo 'tenho ambas as permissões na filial 1';
}

if (Auth::user()->hasPermissions(['user.create', 'user.update'], true, 1)) {
    echo 'tenho pelo menos uma das permissões na filial 1';
}