2013-08-26 9 views
6

ユーザー認証を処理し、その結果に基づいて適切なルート/テンプレートを表示するルータコントローラクラスで、「before」アクションを使用する方法を誰かが実証できるかどうかは疑問です。IronRouter認証コントローラ

私の使用例は、認証ファイアウォールとして機能するAppControllerを持ち、ユーザーがログアウトしたときに子コントローラのアクションをブロックすることです。例えば。

// Create a primary app controller stub with the auth firewall 
AppController = RouteController.extend({}); 

// Extend the AppController with all the other app routes 
MainController = AppController.extend({}); 

助けてください。流星に書かれたブログで

答えて

5

私は、コードを使用します。

AppController = RouteController.extend({ 
    before:function(){ 
    if(_.isNull(Meteor.user())){ 
     Router.go(Router.path('home')); 
    } 
    } 
}) 

AdminPostController = AppController.extend({ 
    waitOn: function() { return App.subs.posts} 
}); 

Router.map(function(){ 
    this.route('submitPost', { 
    path: '/submitPost', 
    controller:'AdminPostController', 
    template:'postCreate' 
    }); 
    this.route('editPost', { 
    path: '/post/:slug/edit', 
    controller:'AdminPostController', 
    template:'postEdit' 
    }); 
}) 
関連する問題