Meteor:两种类型的用户,使用复杂的UserAccounts的方式?

时间:2016-10-07 06:23:13

标签: javascript algorithm reactjs meteor meteor-accounts

我正在使用Meteor / react和flowRouter,我想创建一个有两种用户的应用程序;让我们说保持简单:

  • 客户端
  • 提供商
  • 事实上,客户端有一些“UserAccounts”字段(名称,密码,电子邮件......),但我想添加许多其他字段:Idk,如护照号码,社会安全号码,银行帐户等...

  • 提供者可以填写这些字段,如果他也想要(也可以有相同的“角色”),但其主要目标是拥有其他字段,如idk:职位,类别工作,其他密码等。< / p>

那么你们有些人使用UserAccounts包来做这个或者你自己创建了一个系统吗? 当然,我希望使用电子邮件验证等...应用程序Ui希望搜索组件搜索提供者,并且仅在提供者中搜索。

此外,我将使用两种注册表单(相同页面但两种形式),但两种类型都使用一种登录模式。

我的问题是,使用userAccount是一件好事,可能我需要两个角色的角色,但UserAccount接受许多其他自定义字段,我是否必须在“个人资料”中设置,而不是它只用一个用户集合就会减慢太多的应用程序?

感谢各位大家的帮助:)

1 个答案:

答案 0 :(得分:1)

是的,您可以将userAccount用于您的案例&amp;不,它不会减慢到任何明显的数量。

要管理不同的角色,您可以使用alaning:roles包。它可以帮助您将对代码的某些部分的访问限制为角色和组。

更新:(编辑)

正如评论中指出的那样,不建议使用自动发布的配置文件。而是试试这个: 关于在用户帐户中添加更多字段的第二部分,您可以在配置文件部分中添加任意数量的字段。该文件将如下所示:

{


  _id: "bbca5d6a-2156-41c4-89da-0329e8c99a4f",  // Meteor.userId()
  username: "cool_kid_13", // unique name
  emails: [
    // each email address can only belong to one user.
    { address: "cool@example.com", verified: true },
    { address: "another@different.com", verified: false }
  ],
  createdAt: Wed Aug 21 2013 15:16:52 GMT-0700 (PDT),
  profile: {
        //profile data
       },
passportNo:'PASSPORT',
ssn:'SSSN',
oneMoreField: 'OneMoreField',
}

默认情况下,此处只会发布电子邮件,用户名和个人资料,除非发布和订阅,否则客户端无法看到您的其他数据。

您可以详细了解帐户here