2

静的ページも含め、サイト全体で Ember を使用しています。

既存のアカウントを作成、ログイン、または編集するために、user.new、user.login、およびuser.editを使用して、devise apiをセットアップしました。

どのユーザーもアクセスできます

http://hostname/user/edit

編集画面を表示します。ユーザーがログインしている場合にのみこれを可能にしたいと思います。そうでない場合、そのルートはたとえばログインページにリダイレクトする必要があります。

それを行う方法はありますか?

4

1 に答える 1

5

redirectルートの中に a を入れることができます。そこで、ユーザーがログインしているかどうかを条件付きで確認できます。ログインしていない場合は、別の場所に移行できます。

リダイレクトの詳細については、ガイドを参照してください。

アップデート

これは私が使用する の例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 に答える