我们正在使用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
帮助我们做错事。
答案 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之后,否则角色包无法找到用户记录(因为它还没有创建)