流量路由器和过滤角色 - Meteor

Flow router and filtering roles - Meteor

我现在正在处理一个问题超过 10 天,我不知道该怎么办,所以我希望能在这里找到我的解决方案。

我有两个角色 'admin' 和 'user':由于 alanning:roles 包,第一个用户被添加为管理员。但是,问题是我不确定是否将 'user' 角色设置为默认角色。

下图是createUser函数的代码。

客户//账户//account.js

Template.signup.events({
  'submit form': function(event) {
    event.preventDefault();
    var nameVar =  event.target.signupName.value;
    var emailVar = event.target.signupEmail.value;
    var passwordVar = event.target.signupPassword.value;

    Accounts.createUser({
      name: nameVar,
      email: emailVar,
      password: passwordVar,
      profile: {
        roles: ["user"]
      } 

     });
  }
});

下面的代码是 Accounts.onLogin 函数:

客户端//库//routes.js

if (Meteor.user().roles = 'admin'){
  FlowRouter.go('dashboard');
}

else if (Meteor.user().roles = 'user'){
    FlowRouter.go('account');
}

希望您了解我的问题所在,我期待着解决方案。总之,我需要有 'admin' 和 'user' 角色,当它是管理员时,它应该去 /admin-dashboard 路由,如果它是用户应该去 /account 路线。

谢谢大家 :D

问题在这里:

if (Meteor.user().roles = 'admin'){ // assigning, not equality check
  FlowRouter.go('dashboard');
}

else if (Meteor.user().roles = 'user'){
    FlowRouter.go('account');
}

但是 roles 字段是一个数组,所以这样做:

if (Meteor.user().roles.indexOf('admin') !== -1){
  FlowRouter.go('dashboard');
}

else if (Meteor.user().roles.indexOf('user') !== -1){
    FlowRouter.go('account');
}