管理员登录时如何访问网站的其他页面

时间:2015-08-18 07:52:30

标签: javascript node.js meteor iron-router

管理员登录时如何访问其他页面。当我点击其他链接时,始终显示信息中心页面。你能检查一下我的代码吗?

Router.onBeforeAction(function() {
  if (!Meteor.user()) {
    this.render('login');
  }  else {
    this.render('dashboard');
  }
});


Router.route('users', function() {
    this.render('users');
});
Router.route('orders', function() {
    this.render('orders');
});

注意:当我点击用户和订单链接时,它会显示我的仪表板。

1 个答案:

答案 0 :(得分:1)

因为它被onBeforeAction截获,你应该做这样的事情:

编辑:使用您需要的https://github.com/alanning/meteor-roles

Router.onBeforeAction(function() {
  if (!Roles.userIsInRole(Meteor.user(), ['admin'])) {
    if (!Meteor.user()) {
      this.render('login');
    }  else {
      this.render('dashboard');
    }
  }
});

因此,如果用户是管理员,则会传递onBeforeAction并获取下一个有效路径