IronRouter授权控制器
问题描述:
我想知道是否有人可以演示如何使用路由器控制器类上的全局“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({});
任何帮助,将不胜感激!
答
在我的博客写的流星我使用代码:
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'
});
})