Настройка конфигурации модуля Yii 2

У меня есть вложенный модуль Yii2, и я хочу установить другую конфигурацию, и каждый модуль имеет собственный компонент и другие настройки с собственными моделями.

Как и в системе управления школой, я создал вложенный модуль, такой как V1, — это мой API (основной модуль), и под ними я создал модуль ученика, модуль учителя, модуль для родителей, модуль драйвера, модуль администратора, каждый из которых имеет другую таблицу и разные модель. Я хочу войти в систему по-разному с каждым пользователем, например..

вызовы API для каждого

https://example.com/v1/admin/login

https://example.com/v1/student/login

https://example.com/v1/parent/login

https://example.com/v1/user/login

https://example.com/v1/driver/login

Как я могу управлять этими логинами и их собственной конфигурацией?

введите здесь описание изображения

Спасибо

Джитендра


person Jitendra Y    schedule 03.02.2020    source источник
comment
проверьте логику интерфейса и бэкенда расширенной логики yii2, которую вы можете применить здесь.   -  person Amitesh Kumar    schedule 03.02.2020
comment
Я уже пробовал, но это базовая настройка Yii2, и под модулем мне нужно добавить еще один модуль, а также этот модуль работает как другое приложение.   -  person Jitendra Y    schedule 10.02.2020


Ответы (1)


В модуле Class вы можете установить компоненты, псевдонимы и другие настройки, используя что-то вроде этого:

Вот пример для административного модуля:

class Admin extends Module
{

    // ...

    /**
     * {@inheritdoc}
     */
    public function init()
    {
        parent::init();

        // custom initialization code goes here

        $this->setComponents([
            // array of components
        ]);

        // ...
    }
}

или, если вы предпочитаете, вы можете установить такие компоненты, как это

$this->components = [
    // array of components
]);

если вы используете вложенные модули, вы уже указываете «настройки» для модуля, т.е. все подмодули

Чтобы использовать разные логины для всех модулей при указании компонентов, установите разные имена для identityCookie пользовательского компонента для каждого модуля.

Пример для административного модуля:

$this->components => [
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => true,
        'identityCookie' => ['name' => '_identity-admin', 'httpOnly' => true],
    ],
    // ... other components
person tsanchev    schedule 24.02.2020