Ситуация, когда надо перед действием проверить какую-то логику и при необходимости сделать редирект достаточно частая. Но решение здесь не очень очевидное — поэтому приведу пример.
Ниже пример редиректа в методе beforeAction:
public function beforeAction($action)
{
if( !parent::beforeAction($action) ){
return false;
}
if( !\Yii::$app->user->isPrivateSessionActive() ) {
$this->redirect(['/auth']);
}
return true;
}
Нас интересует второе условие. Особенность в том, что, в отличие от обычного контроллера, в beforeAction нужно не делать return $this->redirect(), а просто вызвать redirect(), при этом вернуть true.
Если Вам интересно пояснение первого условия в методе — Вы можете почитать его здесь.
На этом всё — всем добра. Удачи!