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/ */
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';
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.