userwebdevelop/yii2-rbac

RBAC для Yii2

Installs: 10

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:yii2-extension

1.1.0 2025-06-30 07:01 UTC

This package is auto-updated.

Last update: 2025-06-30 07:02:05 UTC


README

Расширение RBAC для Yii2 Advanced.

Установка

composer require userwebdevelop/yii2-rbac

Добавить в файл backend/config/main.php следующий фрагмент:

'controllerMap' => [
    'role' => 'userwebdevelop\yii2Rbac\controllers\RoleController',
],

Добавить в файл console/config/main.php следующий фрагмент:

'controllerMap' => [
    'yii2-rbac' => 'userwebdevelop\yii2Rbac\commands\RbacYii2Commands',
],
  1. В файле backend/modules/admin/Module.php подключить трейт:
use \userwebdevelop\yii2Rbac\traits\ModuleMiddleware;
  1. Вывод сайдбара в файле backend/views/layouts/left.php обернуть в метод из пакета:
\userwebdevelop\yii2Rbac\widgets\RBACSidebar::widget([
    // urls
    ['label' => 'Роли', 'icon' => 'users', 'url' => ['/role']], // Также нужно добавить ссылку на роли
]);

Команда для проведения миграций: php yii yii2-rbac/migrate

Для добавления админа используется команда php yii yii2-rbac/admin <логин, id или email админа>

Для перевода пермишенов доабвить в backend/config/params.php следующий элемент:

    'PERMISSION_LABELS' => [
        'actionIndex' => 'Просмотр всех',
        'actionView' => 'Просмотр одного',
        'actionCreate' => 'Создание',
        'actionUpdate' => 'Редактирование'
    ]

По необходимости добавлять и убирать методы

В backend/modules/admin/user/_form.php добавить следующий код:

<?= $form->field($model, 'roles')->widget(Select2::classname(), [
        'data' => $model->getRolesLabels(),
        'options' => ['placeholder' => '', 'multiple' => true],
        'hideSearch' => false,
        'pluginOptions' => [
            'allowClear' => true
        ],
    ]); ?>