Sprawdzanie warunków wstępnych trasy przed załadowaniem sterownika

Piszę aplikację pojedynczej strony w Angularangular.dart, ale zakładam, że to pytanie nadal dotyczy AngularJS.

Weźmy na przykład następujące trasy:

/Zaloguj Się - Oczekuje, że nikt się nie zaloguje. Jeśli ktoś jest uwierzytelniony, ale nie jest zarejestrowany, przekieruj do trasy „zarejestruj”, jeśli są zarejestrowane, przekieruj na trasę „domową”.

/zarejestrować - Oczekuje uwierzytelnionego użytkownika, który nie zakończył procesu rejestracji. Jeśli nie jest uwierzytelniony, przekieruj do logowania. Jeśli jest uwierzytelniony, przekieruj do domu.

/Dom - Oczekuje uwierzytelnionego i zarejestrowanego użytkownika. Jeśli nie jest uwierzytelniony, przekieruj na trasę „login”, jeśli nie jest zarejestrowana, przekieruj na trasę „zarejestruj”.

Zrobiłem sporo wyszukiwania, ale nie mogę znaleźć wbudowanego lub idiomatycznego sposobu sprawdzenia, aby upewnić się, że pewne warunki wstępne są spełnione przed załadowaniem kontrolera powiązanego z konkretną trasą i odpowiednio przekierować, gdy te warunki wstępne nie są spełnione.

Każda pomoc byłaby bardzo mile widziana!

questionAnswers(4)

yourAnswerToTheQuestion