Meteor FlowRouter中的角色正在快速工作

Meteor FlowRouter中的角色正在快速工作,meteor,meteor-accounts,flow-router,Meteor,Meteor Accounts,Flow Router,我试图在未授权时将用户重定向到403页。我在CM9Cwq7HXD6yHjKRp中添加了“管理员”、“默认组”角色,它在模板级别上就像一个符咒。但在路由器上无法按预期工作 我的路线组分为2个主要组 // Public routes var publicFlowRouter; publicFlowRouter = FlowRouter.group({}); // Private routes var privateFlowRouter; privateFlowRouter = FlowRout

我试图在未授权时将用户重定向到403页。我在CM9Cwq7HXD6yHjKRp中添加了“管理员”、“默认组”角色,它在模板级别上就像一个符咒。但在路由器上无法按预期工作

我的路线组分为2个主要组

// Public routes
var publicFlowRouter; 
publicFlowRouter  = FlowRouter.group({});

// Private routes
var privateFlowRouter;
privateFlowRouter = FlowRouter.group({
  triggersEnter: [
    function() {

    var route;

    if (!(Meteor.loggingIn() || Meteor.userId())) {

      route = FlowRouter.current();

      if (route.route.name !== 'home') {
        Session.set('redirectAfterLogin', route.path);
      }

      return FlowRouter.go('home');
    }
  }
  ]
});
这些路由没有任何问题,但问题始于adminPrivateFlowRouter

// Private routes extended for admin
var adminPrivateFlowRouter;
adminPrivateFlowRouter = privateFlowRouter.group({
  triggersEnter: [ 
    function() {
      // If user is not authenticated redirect to homepage
      console.log(Meteor.userId());
      console.log(Roles.userIsInRole(Meteor.userId(), 'admin', 'default-group'));
      if (Roles.userIsInRole(Meteor.userId(), 'admin', 'default-group')) {
        console.log('Authenticated user');       
      } else {
        console.log('403 Access Denied');
        //return FlowRouter.go('home');
      }
    }
  ]
});
工作不稳定。当我刷新samepage时,控制台有时会说 CM9Cwq7HXD6yHjKRp 假的 403拒绝访问

CM9Cwq7HXD6yHjKRp 真的 认证用户

我找不到问题所在,谢谢


Roles
订阅就绪时,您可以使用
FlowRouter.wait()
FlowRouter.initialize()
手动初始化FlowRouter来解决问题。

我也有同样的问题,只是它在本地主机上工作正常,而在服务器上工作不正常。我得到了一致的结果,对
userIsInRole
的调用总是false,这是不正确的。他还问了一个问题