我想用 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',则 admin 路由将重定向而不是 foobar。
我可以在路由器启动之前处理重定向吗?