Как определить маршрут до защиты маршрута Angular?

поэтому у меня есть, скажем, 2 маршрута «/admin-route» и «/ superuser-route», и оба требуют привилегий «admin» и «superuser» соответственно для доступа к этим маршрутам.

Когда пользователь нажимает на этот маршрут, я проверяю привилегии, и если они неверны для этого пользователя, я активирую защиту маршрута «/ no-access».

Проблема в том, что в моем приложении есть хлебные крошки, и если пользователь получает состояние отсутствия доступа, я хочу отобразить в хлебных крошках, к какому маршруту он ранее обращался.

Поэтому, если пользователь пытается получить доступ к «/admin-route» и у него нет прав администратора, срабатывает защита маршрута без доступа, и я хочу, чтобы в хлебных крошках отображался «Администратор» и то же самое, если пользователь пытается получить доступ к «/ superuser-route» и получает страницу без доступа. Мне нужна навигационная крошка «Superuser».

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

Я надеюсь, что это не слишком запутанно, и любая помощь приветствуется!


person Adi    schedule 25.06.2020    source источник


Ответы (1)


иметь логику в route guard или центральной службе.

с каждым допустимым маршрутом обновляйте значение этого свойства.

когда пользователь переходит на недопустимый маршрут, используйте значение свойства.

как экземпляр конца навигации, -- обновите свойство с проверкой, как в соответствии с вашей логикой

person LogicBlower    schedule 27.06.2020