ember.jsで認証を実装したいのですが。そのため、アプリケーションの起動時に、ルーターが要求されたURLを処理する前に、ユーザーのステータスを確認したいと思います。ユーザーが認証されていない場合は、要求されたURLを保存して、特定のURL(/ login)にリダイレクトします。このオーバーロードするEmber.Routeを実装しようとしましたが、これは良い習慣ではないと思います。たとえば、私が行う場合:
var AuthRoute = Ember.Route.extend({
redirect: function() {
var controller = App.userController;
if (!controller.get("userAuth")) {
controller.set("lastFilter", this.routeName);
this.transitionTo("index");
}
}
}
});
URLが「/admin/ foobar」の場合、管理ルートはfoobarではなくリダイレクトします。
ルーターを起動する前にリダイレクトを処理できますか?