Асинхронная авторизация по угловому маршруту
Angular не предоставляет никаких прав доступа / авторизации при маршрутизации (я говорю по умолчанию Angular route 1.x, а не beta 2.0 или UI route). Но я должен реализовать это.
У меня проблема в том, что у меня есть служба, которая вызывает сервер для предоставления этой информации и возвращает обещание. Эти данные, однако, получают только один раз, а затем кэшируют на клиенте, но их все же необходимо получить один раз.
Я бы сейчас хотел справиться$routeChangeStart
событие, которое проверяет, определяет ли следующий маршрут конкретное свойствоauthorize: someRole
, Затем этот обработчик должен получить эти данные, используя мой ранее упомянутый сервис, и действовать в соответствии с возвращенными данными.
Любые идеи помимо добавлениясборник законов на все мои маршруты? Могу ли я сделать это как-то централизованно? Один раз для всех применяемых маршрутов?
Окончательное решениеС помощью принятого ответа мне удалось реализовать довольно простое и централизованное решение, которое выполняет асинхронную авторизацию.кликните сюда чтобы увидеть его в действии или проверить его внутренний рабочий код.