I'm wondering if anyone could demonstrate how to use a global 'before' action on a router controller class that handles user authentication and displays the appropriate route/template based on the result.
My use case is to have an AppController that acts as an authentication firewall and blocks any child controller actions when a user is logged out. E.g.
// 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({});
Any help would be appreciated!
In my blog written in meteor I use code :
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'
});
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With