Нет времени на свой велосипед, поэтому скачал и установил указанный модуль. Куски конфигов:
Код: Выделить всё
$config = [
...
'aliases' => [
'@mdm/admin' => '@vendor/mdm/yii2-admin',
'layout' => 'right-menu'
],
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
]
],
...
'components' => [
'authManager' => [
'class' => 'yii\rbac\DBManager',
'defaultRoles' => ['guest']
],
...
],
...
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
'admin/*'
]
],
...
]
Код: Выделить всё
public function actionList()
{
if (Yii::$app->user->can('view_categories'))
{
$categories=Category::find()
->orderBy("tree, lft")
->all();
return $this->render('list', [
'categories' => $categories
]);
}
else
throw new ForbiddenHttpException('Access denied');
}