Files
yii2-usuario/docs/installation/rbac.md
2019-06-17 17:30:03 +02:00

71 lines
2.1 KiB
Markdown

RBAC
====
This module comes with RBAC package by default. We haven't found ourselves that we didn't require at least an admin
which doesn't require that level of security. Our projects always start with simple roles such as `admin` but later on
our customers always ask for different levels of permissions for multiple roles.
That is the reason why we include RBAC features by default, and whether you use it or not, you will have to apply
Yii's `rbac` schema migrations or override the views so `PermissionController` and `RoleController` are never
accessible.
We have added an access filter (`Da\User\Filter\AccessRuleFilter`) to allow you to work with those usernames you
configure as administrators of your app via the
[Module::administrators](configuration-options.md#administrators-type-array-default-) attribute.
> **Note**: Remember that you have to configure applications `authManager` with `'class' => 'Da\User\Component\AuthDbManagerComponent'`,
> prior to even apply the rbac migrations!
How to Use `AccessRuleFilter`
-----------------------------
The following is a fragment on how the `Da\User\Controller\AdminController` has configured the filter:
```php
// ...
use Da\User\Filter\AccessRuleFilter;
use yii\filters\AccessControl;
use yii\filters\VerbFilter;
// ...
class AdminController extends Controller
{
// ...
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::class,
'actions' => [
'delete' => ['post'],
'confirm' => ['post'],
'block' => ['post'],
],
],
'access' => [
'class' => AccessControl::class,
'ruleConfig' => [
'class' => AccessRuleFilter::class,
],
'rules' => [
[
'allow' => true,
'roles' => ['admin'],
],
],
],
];
}
// ...
}
```
© [2amigos](http://www.2amigos.us/) 2013-2019