PHP code example of zennit / abac
1. Go to this page and download the library: Download zennit/abac 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/ */
zennit / abac example snippets
Route::middleware(['web', 'abac'])->group(function () {
Route::get('/posts/{post}', fn (Post $post) => $post);
});
use zennit\ABAC\Facades\Abac;
Abac::addPermission('read', App\Models\Post::class, [
'role' => 'editor',
'resource.owner_id' => 123,
]);
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use zennit\ABAC\Facades\Abac;
class AbacPermissionSeeder extends Seeder
{
public function run(): void
{
Abac::addPermission('read', App\Models\Post::class, [
'role' => 'editor',
'resource.owner_id' => '123',
]);
Abac::addPermission('update', App\Models\Post::class, [
'actor.role' => 'admin',
]);
}
}
bash
php artisan vendor:publish --provider="zennit\ABAC\Providers\AbacServiceProvider"
php artisan migrate
bash
php artisan abac:publish
php artisan abac:publish-config
php artisan abac:publish-env
php artisan abac:scaffold --from-routes