Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 2 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 (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-04-02T09:49:39.000Z (over 5 years ago)
- Last Synced: 2024-03-25T11:40:29.704Z (6 months 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
[![Build Status](https://travis-ci.org/php-casbin/laravel-casbin.svg?branch=master)](https://travis-ci.org/php-casbin/laravel-casbin)
[![Coverage Status](https://coveralls.io/repos/github/php-casbin/laravel-casbin/badge.svg)](https://coveralls.io/github/php-casbin/laravel-casbin)
[![Latest Stable Version](https://poser.pugx.org/casbin/laravel-adapter/v/stable)](https://packagist.org/packages/casbin/laravel-adapter)
[![Total Downloads](https://poser.pugx.org/casbin/laravel-adapter/downloads)](https://packagist.org/packages/casbin/laravel-adapter)
[![License](https://poser.pugx.org/casbin/laravel-adapter/license)](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/).