Angular — резольверы и охранники

в моем приложении я разрешаю пользователя из BE после входа в систему. Я хотел бы перейти на определенную страницу инициализации в зависимости от роли пользователя. Я пытался сделать это с помощью функции «можно активировать охрану», но поскольку охранники рассчитываются перед преобразователями, мой пользователь не определен, и приложение зависает. (важно отметить, что я использую ngrx для управления состоянием, поэтому мой пользователь сохраняется в этом состоянии). Можно ли как-нибудь проверить роль моего пользователя в блоке активации защиты и как-то дождаться UserResolver?


person יובל צרפתי    schedule 20.07.2020    source источник
comment
Когда вы получаете пользовательские данные из своего LoginComponent, просто выполните переключатель в зависимости от роли пользователя, а затем перейдите на нужную страницу.   -  person Emilien    schedule 20.07.2020
comment
Это немного сложнее, потому что я использую ssr в своем приложении, в своем компоненте входа в систему я получаю только accessToken и refreshToken, а затем разрешаю пользователя в модуле маршрутизации. (У моего пользователя есть изображение профиля base64, и ssr это не понравилось).   -  person יובל צרפתי    schedule 20.07.2020


Ответы (1)


Да, можете, посмотрите блог Тодда Мотто Предварительная загрузка магазина ngrx с помощью Route Guards. Вместо того, чтобы ждать на распознавателе, вы можете ждать состояния.

person timdeschryver    schedule 21.07.2020
comment
Удивительно! Ты очень много - person יובל צרפתי; 06.08.2020