Не работает AccessControl на самописные роли RBAC в фреймворке YII2

Совсем новичок в yii2, пишу свой первый сайт. Я написал RBAC контроллер, написал нужные роли, правила и разрешения. Возникла проблема на моменте создания поведения для User контроллера: в behaviors() добавил AccessControl и прописал нужные доступы. Однако фильтр не пропускает самописные роли (user, admin). Пожалуйста, подскажите в чём проблема? Спасибо!

Код RBAC контроллера:

class RbacController extends Controller
{
    public function actionInit()
    {
        $authManager = \Yii::$app->authManager;
 
        // Create roles
        $guest  = $authManager->createRole('guest');
        $user  = $authManager->createRole('user');
        $admin  = $authManager->createRole('admin');
 
        // Create simple, based on action{$NAME} permissions
        $signin  = $authManager->createPermission('/user/signin');
        $logout = $authManager->createPermission('/user/logout');
        $signUp = $authManager->createPermission('/user/signup');
        $index  = $authManager->createPermission('/user/index');
        $history = $authManager->createPermission('/user/history');
        $profile = $authManager->createPermission('/user/profile');
        $usersList = $authManager->createPermission('/user/userlist');
 
        // Add permissions in Yii::$app->authManager
        $authManager->add($signin);
        $authManager->add($logout);
        $authManager->add($signUp);
        $authManager->add($index); 
        $authManager->add($history); 
        $authManager->add($profile); 
        $authManager->add($usersList); 
 
        // Add rule, based on UserExt->group === $user->group
        $userGroupRule = new UserGroupRule();
        $authManager->add($userGroupRule);
 
        // Add rule "UserGroupRule" in roles
        $guest->ruleName  = $userGroupRule->name;
        $user->ruleName  = $userGroupRule->name;
        $admin->ruleName  = $userGroupRule->name;
 
        // Add roles in Yii::$app->authManager
        $authManager->add($guest);
        $authManager->add($user);
        $authManager->add($admin);
 
        // Add permission-per-role in Yii::$app->authManager
        // Guest
        $authManager->addChild($guest, $signin);
        $authManager->addChild($guest, $signUp);
        $authManager->addChild($guest, $index);
 
        // user
        $authManager->addChild($user, $profile);
        $authManager->addChild($user, $history);
        $authManager->addChild($user, $guest);
  
        // Admin
        $authManager->addChild($admin, $usersList);
        $authManager->addChild($admin, $user);
    }
}

Код behaviors() User контроллера

public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::class,
                'denyCallback' => function() {
                    if(Yii::$app->user->isGuest)
                        return $this->redirect('signin');
                    throw new ForbiddenHttpException('У вас нет доступа к этой странице');
                },
                'only' => [],
                'rules' => [
                    [
                        'allow' => true,
                        'actions' => ['signin', 'signup'],
                        'roles' => ['?'],
                    ],
                    [
                        'allow' => true,
                        'actions' => ['logout', 'profile', 'history'],
                        'roles' => ['user'],
                    ],
                    [
                        'allow' => true,
                        'actions' => ['userlist'],
                        'roles' => ['admin'],
                    ]
                ],
            ],
        ];
    }

Готов предоставить другие части программы, если потребуется.


Ответы (0 шт):