如果用户是角色管理员,则进行流星测试

时间:2017-05-27 22:00:52

标签: javascript meteor

我在Meteor projet上添加了alanning:roles包,用于设置我的用户角色。

我将第一个用户添加到此灯具中:

if (Meteor.users.find().count() === 0) {

  const adminUsername = "username";
  const adminPassword = "password";

  const adminAccount = Accounts.createUser({
    username: adminUsername,
    password: adminPassword
  });

  Roles.addUsersToRoles(adminAccount, 'admin', Roles.GLOBAL_GROUP);

}

我测试用户是否是管理员:

const testAdmin = Roles.userIsInRole(Meteor.userId(), 'admin', Roles.GLOBAL_GROUP);

console.log(testAdmin); // return false, why ?

我的console.log关闭testAdmin返回false,我不明白为什么:/在mongoDb上,我看到了这个:

"roles" : {
    "__global_roles__" : [
        "admin"
    ]
}

所以,我的用户一直是管理员角色。为什么我的测试不会返回true?

任何人都可以帮助我?

谢谢社区!

1 个答案:

答案 0 :(得分:0)

尝试至少在服务器端工作。

如果是这样,则表示您只需要发布_name的{​​{1}}字段。即使使用roles包,Meteor也不会发布所有用户数据。