В basic реализовать RBAC получилось. Сегодня начал изучать advanced и не получается реализовать RBAC.
Как я делаю:
Шаг 1: Прописал в
/common/config/main.php'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
],
],
Шаг 2: Запустил миграцию. Таблицы добавились
php yii migrate --migrationPath=@yii/rbac/migrations/
Шаг 3: В
/console/controllers/ создал класс
RbacController.php<?php
namespace yii\console\controllers;
use Yii;
use yii\console\Controller;
use common\models\User;
class RbacController extends Controller {
public function actionInit() {
$auth = Yii::$app->authManager;
// Удаляем старые данные из бд
$auth->removeAll();
// Создадим роли админа и пользователя
$admin = $auth->createRole('admin');
$user = $auth->createRole('user');
// запишем их в БД
$auth->add($admin);
$auth->add($user);
// Назначаем роль admin пользователю с ID 1
$auth->assign($admin, 1);
}
Шаг 4: Выполняю в консоле
php yii rbac/init. Выводится ошибка
Exception 'yii\base'UnkownClassException' with message 'Unable to find 'console\controllers\RbacController.php' in file: D:\domains\yii2/console/controllers\RbacController.php. Namespace missing?'
in D:\Openserver\domains\yii2\vendor\yiisoft\yii\BaseYii.php:291
Что я делаю не так? может я что-то не так написал в
RbacController.php или пропустил какой-то шаг?