casbin / laravel-adapter
Use casbin in laravel.
Requires
- casbin/casbin: >=0.1.0
- laravel/framework: ~5.1.0|~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
Requires (Dev)
- laravel/laravel: ~5.1.0|~5.2.0|~5.3.0|~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0
- mockery/mockery: ^1.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ~5.7|~6.0|~7.0|~8.0
This package is auto-updated.
Last update: 2020-11-24 10:45:55 UTC
README
Use Casbin in Laravel.
It is worth mentioning that we now recommend laravel-authz
.
Installation
Require this package in the composer.json
of your Laravel project. This will download the package.
composer require casbin/laravel-adapter
The CasbinAdapter\Laravel\CasbinServiceProvider
is auto-discovered
and registered by default, but if you want to register it yourself:
Add the ServiceProvider in config/app.php
'providers' => [ /* * Package Service Providers... */ CasbinAdapter\Laravel\CasbinServiceProvider::class, ]
The Casbin facade is also auto-discovered
, but if you want to add it manually:
Add the Facade in config/app.php
'aliases' => [ // ... 'Casbin' => CasbinAdapter\Laravel\Facades\Casbin::class, ]
To publish the config, run the vendor publish command:
php artisan vendor:publish
This will create a new model config file named config/casbin-basic-model.conf
and a new casbin config file named config/casbin.php
.
To migrate the migrations, run the migrate command:
php artisan migrate
This will create a new table named casbin_rule
Usage
use \Casbin; $sub = "alice"; // the user that wants to access a resource. $obj = "data1"; // the resource that is going to be accessed. $act = "read"; // the operation that the user performs on the resource. if (Casbin::enforce($sub, $obj, $act) === true) { // permit alice to read data1 } else { // deny the request, show an error }
Define your own model.conf
You can modify the config file named config/casbin-basic-model.conf
Learning Casbin
You can find the full documentation of Casbin on the website.