Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Meteor中存储每个用户帐户的CustomerID的正确位置_Meteor - Fatal编程技术网

在Meteor中存储每个用户帐户的CustomerID的正确位置

在Meteor中存储每个用户帐户的CustomerID的正确位置,meteor,Meteor,我正在使用accounts ui软件包,它非常有效。我需要为每个用户帐户存储附加信息。比如他们的CustomerID,这样我就可以让多个用户与同一个客户关联。或者isAdmin标记他们是该客户的管理员用户还是普通用户 如果有一个简单的方法来促进与一个客户有多个用户帐户,我只是没有看到它,请让我知道 从Accounts Meteor.users下的文档中,最适用的字段是profile,但它还表示: 配置文件:用户可以(默认情况下)创建和更新的对象 任何数据 虽然这是一个存储诸如名字和姓氏之类的东西

我正在使用accounts ui软件包,它非常有效。我需要为每个用户帐户存储附加信息。比如他们的CustomerID,这样我就可以让多个用户与同一个客户关联。或者isAdmin标记他们是该客户的管理员用户还是普通用户

如果有一个简单的方法来促进与一个客户有多个用户帐户,我只是没有看到它,请让我知道

从Accounts Meteor.users下的文档中,最适用的字段是profile,但它还表示:

配置文件:用户可以(默认情况下)创建和更新的对象 任何数据

虽然这是一个存储诸如名字和姓氏之类的东西的好地方,但我显然不希望用户能够修改/更新CustomerID或iAdmin,因此我不确定这是否是存储此类数据的最佳地方。或者可能是这样,我应该使用拒绝规则,这样不合适的用户就不能修改这些数据


我应该将CustomerID存储在这里还是存储在单独的客户集合中。或者,如果我在这件事上完全错了,我希望能被指向正确的方向。我注意到了Roles包,但这似乎主要是扩展accounts包,并且没有按每个客户存储帐户和角色。我还考虑构建自己的身份验证系统,而不是使用帐户用户界面,这当然是一个选项。

很明显,你已经完成了你的家庭作业。以下是一些建议:

  • 如果您只有一种角色类型,那么角色包可能过于复杂

  • 只有在为更新添加拒绝规则时,才可以安全地使用配置文件来存储角色数据。正如文档所指出的,用户配置文件在默认情况下是可编辑的,即使删除了不安全的包。我一直在游说核心开发人员改变这一点-到目前为止没有任何效果

  • 我对您的数据了解不够,无法建议如何建立客户关系模型。您可以按照您的建议在概要文件中放置一个id,或者在客户对象上有一个用户id数组(您可以执行与客户管理员概念类似的操作)。这主要取决于这些文档将如何更新/查询/发布/等等。通常,我更喜欢在概要文件中只存储用户特定的数据(名称、首选项等),并将关系保存在其他集合中

  • 一般来说,我建议您编写自己的登录UI。这真的没那么难,在很多情况下,这可能是对未来灵活性的一个很好的投资


Meteor.users.deny({
  update: function() {
    return true;
  }
});