В принципе, вы знаете авторизован пользователь или нет еще до этапа маршрутизации, поэтому можно разные правила маршрутизации задавать для авторизованных пользователей и не авторизованных. Как-нибудь так.
class ConditionalRouting implements BootstrapInterface
{
/**
* @var array
*/
public $guestRules = [
'' => 'guest/index',
];
/**
* @var array
*/
public $userRules = [
'' => 'user/index'
];
/**
* @inheritDoc
*/
public function bootstrap($app)
{
$manager = \Yii::$app->urlManager;
$manager->addRules(\Yii::$app->user->isGuest ? $this->guestRules : $this->userRules, false);
}
}
И добавить это дело в автозагрузку веб-приложению
...
'bootstrap' => [
\app\components\ConditionalRouting::class
],
...