AngularJS - routeProvider resolve chamar um método de serviço

Eu criei um serviço que verifica o estado de login do usuário (conecte o usuário se existir um token, caso contrário, redirecione para a página de login).

Originalmente eu chamei este serviço através da resolução routeProvider - isso funciona perfeitamente uma vez, mas como os serviços Angularjs são singleton, o teste não seria executado para chamadas consecutivas.

Eu então tentei mover o teste para um método dentro do objeto retornado, mas parece que eu não posso ter um bale para que o routeProvider resolva chamar um método específico de um serviço (o que faz sentido de alguma forma).

A pergunta é: como posso ter certeza de que meu teste é executado toda vez que a rota é carregada?

Na série de vídeos de cabeçotes (http://www.egghead.io/video/rbqRJQZBF3Q) ele usa uma função atribuída ao controlador, mas isso não parece ser a solução certa para um aplicativo de produção (não quero atribuir uma função a um controlador específico e acredito que a injeção de dependência do Angularjs não funcionará) .

questionAnswers(2)

yourAnswerToTheQuestion