我将 Ember 用于我的整个网站,甚至是静态页面。
我有一个设计 api 设置,使用 user.new、user.login 和 user.edit 来创建、登录或编辑现有帐户。
任何用户都可以去
http://hostname/user/edit
查看编辑屏幕。我真的希望只有在用户登录时才可以做到这一点。如果没有,该路由应该例如重定向到登录页面。
有没有办法做到这一点?
我将 Ember 用于我的整个网站,甚至是静态页面。
我有一个设计 api 设置,使用 user.new、user.login 和 user.edit 来创建、登录或编辑现有帐户。
任何用户都可以去
http://hostname/user/edit
查看编辑屏幕。我真的希望只有在用户登录时才可以做到这一点。如果没有,该路由应该例如重定向到登录页面。
有没有办法做到这一点?
你可以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');
}
},
希望这能提供一些好的方向。
如果您需要更多资源,请查看: