Rud*_*udi 2 ember.js ember-router
我在整个网站上使用Ember,甚至是静态页面.
我有一个设计api设置,使用user.new,user.login和user.edit来创建,登录或编辑现有帐户.
任何用户都可以去
http://hostname/user/edit
Run Code Online (Sandbox Code Playgroud)
看到编辑屏幕.我真的希望只有在用户登录时才能实现此目的.如果不是,那么该路由应该例如重定向到登录页面.
有没有办法做到这一点?
你可以redirect在你的路线内.在那里,您可以有条件地检查用户是否已登录.如果不是,则可以转移到其他位置.
有关重定向的详细信息,请参阅指南.
这是AuthenticatedRoute我使用的一个例子.对于我要进行身份验证的路由,我只是从这个路由子类.
var AuthenticatedRoute = Ember.Route.extend({
session: Ember.inject.service(),
...
beforeModel: function(transition) {
if (Ember.isEmpty(this.get('session').get('token'))) {
this.get('flashNotification').notify({
title: "You need to sign in first."
});
return this.transitionTo('sign-in');
}
},
Run Code Online (Sandbox Code Playgroud)
希望这能给出一些好的方向.
如果您需要更多资源,请查看: