正确的方法来检查用户是否在流星中有角色?

时间:2016-06-07 21:35:18

标签: meteor angular-meteor

我正在构建CMS,并且根据用户role,他们将能够编辑/更新/删除/创建不同的区域,但是按照role进行过滤,例如,一个用户role: 'basic role' 1}}无法删除role: 'superuser'的用户可以使用的内容。

我现在所拥有的是:

Collection.allow({
  insert: function(userId, collection) {
    return Meteor.users.findOne({_id: userId, profile: {role: 'admin'}});
  },
  update: function(userId, collection, fields, modifier) {
    return Meteor.users.findOne({_id: userId, profile: {role: 'admin'}});
  },
  remove: function(userId, collection) {
    return Meteor.users.findOne({_id: userId, profile: {role: 'admin'}});
  }
});

问题 这是验证用户角色的正确方法吗?还有更好的方法吗?这方面的最佳做法是什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

您应该查看alanning:roles包。它在Meteor Docs中被广泛使用甚至提到过。除角色外,它还支持群组。