Как вызвать actionIndex после авторизации?

В Yii, вызвать actionIndex после авторизации можно несколькими способами, в зависимости от типа авторизации, которую вы используете в своем приложении. Ниже я представлю самые распространенные подходы.

1. Через фильтр авторизации в контроллере:
Вы можете добавить фильтр авторизации к вашему контроллеру, чтобы вызвать actionIndex после успешной авторизации. Для этого вам потребуется определить метод behaviors() в вашем контроллере и добавить нужные параметры в этом методе. Например:

public function behaviors()
{
    return [
        'access' => [
            'class' => yiifiltersAccessControl::className(),
            'rules' => [
                [
                    'allow' => true,
                    'roles' => ['@'],
                    'actions' => ['index'],
                    'redirect' => ['site/index'], // ссылка на страницу, на которую будет сделан редирект после авторизации
                ],
            ],
        ],
    ];
}

В примере выше мы указываем, что для доступа к actionIndex требуется авторизация (роль '@'), а также задаем ссылку на страницу, на которую будет выполнен редирект после успешной авторизации.

2. Через событие после авторизации:
Если в вашем приложении используется событие после авторизации, вы можете обработать это событие и вызвать actionIndex в нужном контроллере. Для этого вам потребуется добавить следующий код в ваш контроллер:

public function actions()
{
    return [
        'index' => [
            'class' => 'appcontrollersMyIndexAction',
        ],
    ];
}

public function afterLogin($identity, $cookieBased, $duration)
{
    Yii::$app->runAction('controller/index');
}

В примере выше мы указываем, что после успешной авторизации будет вызываться метод afterLogin(), который в свою очередь вызывает actionIndex в нужном контроллере.

3. Через правила маршрутизации:
Если в вашем приложении используется настройка правил маршрутизации в файле config/web.php, вы можете добавить правило для вызова actionIndex после авторизации. Например:

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
        'site/login' => 'site/index',
    ],
],

В примере выше мы задаем правило, что после успешного входа на страницу site/login будет выполняться actionIndex в контроллере site.

В зависимости от вашей конкретной ситуации, вы можете выбрать один из описанных способов или использовать комбинацию из них.