流星角色没有按预期工作,它返回错误

时间:2016-09-26 20:12:08

标签: node.js meteor meteor-accounts

我们正在使用meteor METEOR@1.4.0.1并添加alanning:roles来管理角色。 下面我们用于申请角色的代码。

Accounts.onCreateUser(function(options, user) {
    console.log("on account create");
    Roles.addUsersToRoles(user._id,'admin')
    console.log(Roles.userIsInRole(Meteor.userId(),'admin'));
    return user;
});

Roles.userIsInRole(Meteor.userId(),'admin') return false 

帮助我们做错事。

1 个答案:

答案 0 :(得分:1)

alanning-roles,您不需要将其包含在Accounts.onCreateUser中。

您只需在插入新文档后使用Roles.addUserToRoles()即可。像这样:

const id = Accounts.createUser({ email: user.email, password: "apple1", profile: { name: user.name } }); Roles.addUsersToRoles(id,'whateverRole')

基于他们的README.md

  

请注意,Roles.addUsersToRoles调用需要在Accounts.createUser或Accounts.onCreate之后,否则角色包无法找到用户记录(因为它还没有创建)