2013-08-26 23 views
6

Tôi tự hỏi liệu có ai có thể chứng minh cách sử dụng hành động 'trước' toàn cầu trên lớp bộ điều khiển bộ định tuyến xử lý xác thực người dùng và hiển thị tuyến/mẫu thích hợp dựa trên kết quả.Bộ điều khiển ủy quyền IronRouter

Trường hợp sử dụng của tôi là có một AppController hoạt động như tường lửa xác thực và chặn mọi hành động điều khiển con khi người dùng đăng xuất. Ví dụ.

// 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({}); 

Mọi trợ giúp sẽ được đánh giá cao!

Trả lời

5

Trong blog của tôi được viết bằng thiên thạch, tôi sử dụng mã:

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' 
    }); 
}) 
Các vấn đề liên quan