Ah, I misunderstood you. What you are saying is very common (at least in our apps). Unfortunately, I don't have any example code to share ...
but here's basically what we did ...
on page load, make a request for the user data ... if it comes back, initialize the main app setup code .. otherwise, show login. Once the user logins in (server sends back current user data), then the main app setup code is initialized.
You can defer routing being set with
$.route.ready(false)
And call it w/ true once the user has logged in.