IronRouter授权控制器

Chr*_*ing 6 routing meteor iron-router

我想知道是否有人可以演示如何在处理用户身份验证的路由器控制器类上使用全局"before"操作,并根据结果显示相应的路由/模板.

我的用例是让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({});
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

Kub*_*bek 5

在我在meteor中写的博客中我使用代码:

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'
  });
})
Run Code Online (Sandbox Code Playgroud)