2

我将 Ember 用于我的整个网站,甚至是静态页面。

我有一个设计 api 设置,使用 user.new、user.login 和 user.edit 来创建、登录或编辑现有帐户。

任何用户都可以去

http://hostname/user/edit

查看编辑屏幕。我真的希望只有在用户登录时才可以做到这一点。如果没有,该路由应该例如重定向到登录页面。

有没有办法做到这一点?

4

1 回答 1

5

你可以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');
    }
  },

希望这能提供一些好的方向。

如果您需要更多资源,请查看:

于 2013-03-01T01:43:57.003 回答