The nature of single-page applications wholly controlling the process of routing affords them the ability to control each stage of the process. For you, this means that you can intercept route changes as they happen and make decisions about where the user should go.
The code, links, and a live example of this are available at http://ngcookbook.herokuapp.com/6135/.
In this recipe, you'll build a simple pseudo-authenticated application from scratch.
You goal is to protect users from certain views when they are not authenticated, and at the same time, implement a sensible login/logout flow.
Begin by defining two initial views with routes in your application. One will ...