Во-первых, это не один из тех случаев, когда я проверял бы статус входа пользователя при запуске приложения и соответственно направлял. Мое приложение имеет в целом два набора экранов / функций - один набор, который не требует входа пользователя в систему, в то время как другой набор, который требует входа пользователя.
Проблема возникает из-за того, что некоторые из экранов, доступ к которым возможен только при входе в систему, могут быть запущены из незащищенного (не авторизованного) раздела приложения. На такой платформе, как Angular, вы определяете маршруты и настраиваемый фрагмент кода для инъекций, который проверяет, вошел ли пользователь в систему или нет, и, если нет, перенаправляет на компонент входа, который после завершения перенаправляет на целевой компонент.
В настоящее время в моем случае каждый контроллер проверяет состояние входа в систему и запускает контроллер входа в систему, если он не вошел в систему. Это приводит к дублированию кода. Для этого существует общий шаблон проектирования.
Примечание - я думал о создании общего базового контроллера или расширения viewcontroller, но оба решения казались не идеальными для варианта использования