Skip to content

Commit

Permalink
Add multiple enforcers docs.
Browse files Browse the repository at this point in the history
  • Loading branch information
leeqvip committed Sep 4, 2019
1 parent 6e69d2b commit 4246971
Showing 1 changed file with 52 additions and 13 deletions.
65 changes: 52 additions & 13 deletions README.md
Expand Up @@ -3,25 +3,25 @@
</h1>

<p align="center">
<strong>Laravel-authz is an authorization library for the laravel framework.</strong>
<strong>Laravel-authz is an authorization library for the laravel framework.</strong>
</p>

<p align="center">
<a href="https://travis-ci.org/php-casbin/laravel-authz">
<img src="https://travis-ci.org/php-casbin/laravel-authz.svg?branch=master" alt="Build Status">
</a>
<a href="https://coveralls.io/github/php-casbin/laravel-authz">
<img src="https://coveralls.io/repos/github/php-casbin/laravel-authz/badge.svg" alt="Coverage Status">
</a>
<a href="https://travis-ci.org/php-casbin/laravel-authz">
<img src="https://travis-ci.org/php-casbin/laravel-authz.svg?branch=master" alt="Build Status">
</a>
<a href="https://coveralls.io/github/php-casbin/laravel-authz">
<img src="https://coveralls.io/repos/github/php-casbin/laravel-authz/badge.svg" alt="Coverage Status">
</a>
<a href="https://packagist.org/packages/casbin/laravel-authz">
<img src="https://poser.pugx.org/casbin/laravel-authz/v/stable" alt="Latest Stable Version">
</a>
<img src="https://poser.pugx.org/casbin/laravel-authz/v/stable" alt="Latest Stable Version">
</a>
<a href="https://packagist.org/packages/casbin/laravel-authz">
<img src="https://poser.pugx.org/casbin/laravel-authz/downloads" alt="Total Downloads">
</a>
<img src="https://poser.pugx.org/casbin/laravel-authz/downloads" alt="Total Downloads">
</a>
<a href="https://packagist.org/packages/casbin/laravel-authz">
<img src="https://poser.pugx.org/casbin/laravel-authz/license" alt="License">
</a>
<img src="https://poser.pugx.org/casbin/laravel-authz/license" alt="License">
</a>
</p>

It's based on [Casbin](https://github.com/php-casbin/php-casbin), an authorization library that supports access control models like ACL, RBAC, ABAC.
Expand All @@ -35,6 +35,7 @@ All you need to learn to use `Casbin` first.
* [Using a middleware](#using-a-middleware)
* [basic Enforcer Middleware](#basic-enforcer-middleware)
* [HTTP Request Middleware ( RESTful is also supported )](#http-request-middleware--restful-is-also-supported-)
* [Multiple enforcers](#multiple-enforcers)
* [Using artisan commands](#using-artisan-commands)
* [Cache](#using-cache)
* [Thinks](#thinks)
Expand Down Expand Up @@ -274,6 +275,44 @@ Route::group(['middleware' => ['http_request']], function () {
});
```

### Multiple enforcers

If you need multiple permission controls in your project, you can configure multiple enforcers.

In the lauthz file, it should be like this:

```php
return [
'default' => 'basic',

'basic' => [
'model' => [
// ...
],

'adapter' => Lauthz\Adapters\DatabaseAdapter::class,
// ...
],

'second' => [
'model' => [
// ...
],

'adapter' => Lauthz\Adapters\DatabaseAdapter::class,
// ...
],
];

```

Then you can choose which enforcers to use.

```php
Enforcer::guard('second')->enforce("eve", "articles", "edit");
```


### Using artisan commands

You can create a policy from a console with artisan commands.
Expand Down

0 comments on commit 4246971

Please sign in to comment.