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
Requires
- php: >=7.4
- yiisoft/yii2: ~2.0.52
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', ],
- В файле
backend/modules/admin/Module.php
подключить трейт:
use \userwebdevelop\yii2Rbac\traits\ModuleMiddleware;
- Вывод сайдбара в файле
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 ], ]); ?>