@otha_marks
Для добавления собственных ролей и разрешений в October CMS можно воспользоваться плагином "RainLab.User".
Вот как это сделать:
- Установите плагин "RainLab.User" через маркетплейс October CMS или через Composer командой:
composer require rainlab/user-plugin
- После установки активируйте плагин "RainLab.User" в разделе "Управление плагинами" админ-панели October CMS.
- Создайте собственный плагин или откройте плагин, в котором хотите добавить роли и разрешения.
- В плагине откройте файл /Plugin.php и в методе boot() добавьте следующий код для настройки ролей и разрешений:
use RainLabUserModelsRole;
// Добавление новой роли и разрешений
public function boot()
{
Role::extend(function($model) {
$model->hasMany['permissions'] = ['AcmePluginModelsPermission'];
});
}
- Создайте модель разрешения в плагине, создав файл /models/Permission.php со следующим содержимым:
- Добавьте миграцию для создания таблицы разрешений. Создайте файл миграции, например, /updates/create_permissions_table.php, со следующим содержимым:
engine = 'InnoDB';
$table->increments('id');
$table->string('name');
$table->string('code')->unique();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('acme_plugin_permissions');
}
}
- Запустите миграцию, чтобы создать таблицу разрешений, выполнив команду:
php artisan october:up
- Теперь вы можете добавить свои собственные роли и разрешения через админ-панель October CMS, в разделе "Настройки > Пользователи > Роли" и "Настройки > Пользователи > Разрешения".
В результате вы сможете использовать собственные роли и разрешения в своем плагине для ограничения доступа к функциональности приложения.