https://github.com/php-casbin/laravel-casbin
This repository has moved to https://github.com/php-casbin/laravel-authz
https://github.com/php-casbin/laravel-casbin
acl adapter casbin laravel permission rbac
Last synced: 10 months ago
JSON representation
This repository has moved to https://github.com/php-casbin/laravel-authz
- Host: GitHub
- URL: https://github.com/php-casbin/laravel-casbin
- Owner: php-casbin
- License: apache-2.0
- Archived: true
- Created: 2018-10-18T16:19:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-02T09:49:39.000Z (about 7 years ago)
- Last Synced: 2024-03-25T11:40:29.704Z (about 2 years ago)
- Topics: acl, adapter, casbin, laravel, permission, rbac
- Language: PHP
- Homepage:
- Size: 23.4 KB
- Stars: 43
- Watchers: 7
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Laravel-Casbin
[](https://travis-ci.org/php-casbin/laravel-casbin)
[](https://coveralls.io/github/php-casbin/laravel-casbin)
[](https://packagist.org/packages/casbin/laravel-adapter)
[](https://packagist.org/packages/casbin/laravel-adapter)
[](https://packagist.org/packages/casbin/laravel-adapter)
Use [Casbin](https://github.com/php-casbin/php-casbin) in Laravel.
#### It is worth mentioning that we now recommend [`laravel-authz`](https://github.com/php-casbin/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`
```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`
```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
```php
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](https://casbin.org/).