【问题标题】:Change Meteor.js Accounts Database?更改 Meteor.js 帐户数据库?
【发布时间】:2015-10-24 20:11:48
【问题描述】:

我正在使用 Meteor.js 构建一个应用程序,它有一个非常酷的“帐户”包,可以将用户信息放入一个名为“用户”的 Mongo 集合中。在我的应用中,我希望有两种不同类型的用户 - A 和 B。如何更改帐户包以绑定到不同的 mongo 集合?

【问题讨论】:

  • 用户文档上的额外字段是否不够用?例如。只需在文档中添加type: A
  • 奥斯卡是正确的。您想通过用户集合中的键键入用户。对多个用户集合来说是疯狂的。
  • 感谢您的回复。在这种情况下,我的问题是当我按下“创建新用户”时,弹出的唯一字段是用户名、电子邮件、密码。如何添加更多字段(姓名、地址等)。
  • 有一个profile 字段可用于保存自定义数据。

标签: meteor meteor-accounts


【解决方案1】:

创建用户时,插入一个属性作为用户的类型。

Accounts.createUser({
    username: 'name',
    email: 'mail',
    password: 'pwd',
    profile: { type: 'typeA' }
});

创建后,如果用户已登录,请告知用户是哪种类型。

var userType = Meteor.user().profile.type;

通知

在处理配置文件时,请注意document中指出的安全性

profile:用户可以使用任何数据创建和更新的对象。除非您在 Meteor.users 集合上有拒绝规则,否则不要在配置文件中存储您不希望用户编辑的任何内容。

【讨论】:

  • 需要注意的是profile字段总是可以被客户端修改的。
  • 我第二个@Oskar。如果没有适当的允许/拒绝规则,这是非常不安全的。想象一下,如果 typeA 是管理员。我完全远离个人资料。
  • 如上述 cmets 中所指出的,为了避免问题,也可以发出通知,并添加它们。
猜你喜欢
  • 2014-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
相关资源
最近更新 更多