Как получить yii\web\Application Object(Yii:$app) frontend из backend в yii2?

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
b.alex
Сообщения: 12
Зарегистрирован: 2019.06.04, 07:13

Как получить yii\web\Application Object(Yii:$app) frontend из backend в yii2?

Сообщение b.alex »

Делаю RBAC
Задача получить все контролеры и их экшены из backend и frontend, да вообще со всего проекта, не важно extentions или я еще раздел добавлю например api, чтобы с админки назначать доступ до каждого экшена для роли

Rbac делаю как расширение, доступ к его контролеру делаю через controllerMap

Код: Выделить всё

    'controllerMap' => [
        'route' => 'myrbac\rbac\backend\controllers\RouteController',
            
    ],
Контролеры и экшены пробую получать из объекта yii\web\Application то есть отсюда Yii:$app
Но вот беда, так я могу получить контролеры только из backend приложения

Пробовал поставить контроллермап в common config не помогло так же выдает объект Yii:$app приложения backend

Код: Выделить всё

    'controllerMap' => [
        'route' => 'myrbac\rbac\backend\controllers\RouteController',
            
    ],
Как быть?

Аватара пользователя
yiijeka
Сообщения: 3091
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Как получить yii\web\Application Object(Yii:$app) frontend из backend в yii2?

Сообщение yiijeka »

Получить объект класса yii\web\Application для frontend из backend у вас не получится, потому что такого объекта в backend части не существует. Чтобы такой объект создать вам понадобится код, который дублирует по сути код из frontend/web/index.php

Код: Выделить всё

$application = new yii\web\Application($frontendConfig);

Ответить