Add multiple enforcers docs.

This commit is contained in:
root 2019-09-04 13:03:12 +08:00
parent 6e69d2b8dd
commit 424697101e
1 changed files with 52 additions and 13 deletions

View File

@ -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)
@ -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.