我想阻止一些用户输入特定路线。我见过未登录用户的例子:
Router.onBeforeAction
(
function ()
{
if (!Meteor.userId())
this.redirect('/');
else
this.next();
}
);
但是当我尝试
时Router.onBeforeAction
(
function ()
{
if ( !isadmin( Meteor.userId() ) && Router.current().route.getName()=='admin' )
this.redirect('/');
else
this.next();
}
);
我收到了下一条消息
iron_core.js?hash路由调度从未呈现过。你忘记了吗? 在onBeforeAction中调用this.next()?
答案 0 :(得分:0)
尝试过这样的事情并且工作
Template.admin.onRendered(function() {
if ( !isadmin( Meteor.userId() ) )
{
Router.go('/');
}
});
答案 1 :(得分:0)
你走了:
Router.route('/your-url',{
name:'routeName',
onBeforeAction:function(){
if(checkSomething){
//check passed, continue routing
this.next();
} else {
//check failed, redirect.
Router.go('/not-authorized');
}
},
action: function(){
this.render('templateName');
}
});