【问题标题】:Meteor.userId from the client - changing shows user email, correct behavior?来自客户端的 Meteor.userId - 更改显示用户电子邮件,正确的行为?
【发布时间】:2013-04-20 12:48:53
【问题描述】:

我正在查看另一个关于从客户端更改 userId 并遵循但没有得到预期结果的问题的答案;

Meteor.userId is changeable

我按照步骤 1 到 5 进行操作,没有任何问题,但随后将 userId() 设置为我刚刚在单独的浏览器中使用 Meteor.default_connection.setUserId('usersfjhjdskfh'); 注销的用户;

由于服务器不应该返回数据,它没有显示一个 spinny 来代替电子邮件地址,而是显示了我在那里使用的实际用户的电子邮件地址。 (但它并没有带回聚会信息并显示在地图上)。

这是预期的行为,我错过了 12 月给出的最后一个答案的要点,还是发生了一些变化? (我正在运行 Meteor 0.6.2,并且从我的示例中删除了不安全和自动发布)

【问题讨论】:

    标签: javascript security meteor


    【解决方案1】:

    我假设您想更改用户的 _id 而不是通过 id 更改登录用户。要更改用户 ID,您可能可以执行类似的操作

    Meteor.users.update(Meteor.userId(), {$set:{_id:<new Id>}});
    

    假设您拥有Meteor.users.allow 的正确权限。这应该会更改当前登录用户的_id

    上一个问题演示了更改本地客户端 Meteor 功能时的安全性以及它将如何影响服务器。 Meteor 服务器不信任来自客户端的任何内容,并在更改它之前使用允许/拒绝规则仔细检查它,无论当前登录用户的数据可能是什么。因此,用户确实需要登录才能更改服务器上 mongodb 数据库中有关他们的任何数据,以便提交允许/拒绝规则。

    【讨论】:

    • 我的问题是,根据最后一个问题,通过更改客户端的 id,服务器正在返回与该 userId 关联的电子邮件地址。让我对此进行更多研究,以确保我得到的所有术语都是正确的。谢谢你:)
    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 2015-09-02
    相关资源
    最近更新 更多