我想使用Atmosphere上提供的'roles'包,但是我无法在Accounts.onCreateUser()中使用它,我可以在github上找到示例。当我注册一个用户时,我想要为他们添加一个角色,但是在测试角色是否被分配时,它没有起作用。
这是我的代码
/server/users.js
Accounts.onCreateUser(function(options, user){
var role = ['admin'];
Roles.addUsersToRoles(user, role);
return user;
});
/客户端/page.js
Template.hello.events({
'click input': function () {
var loggedInUser = Meteor.user();
if (Roles.userIsInRole(loggedInUser, ['admin'])) {
console.log("Hi Admin!");
}else{
console.log("Please Log In");
}
}
});
onCreateUser
,这可能很方便。我们在应用程序中使用自己的自定义Meteor方法来创建用户,因此按照@Firo建议的方式执行。我添加了一个新函数的示例,该函数直接在用户对象上设置角色此处,但只要角色使用的数据库结构保持不变(DP在其中一条评论中提到),该示例才能正常工作。 - alanning