javascript – 尽管存在不安全因素,但流媒体更新访问被拒绝

我安装了不安全的软件包,但是我在客户端控制台中获得了以下内容

Meteor.user()
Object {_id: "4Dyaa5wRmxmq7j7XF", profile: Object, services: Object}_id: "4Dyaa5wRmxmq7j7XF"profile: Objectname: "Mel Oug"__proto__: Objectservices: Objectfacebook: Object__proto__: Object__proto__: Object__defineGetter__: function __defineGetter__() { [native code] }__definesetter__: function __definesetter__() { [native code] }__lookupGetter__: function __lookupGetter__() { [native code] }__lookupSetter__: function __lookupSetter__() { [native code] }constructor: function Object() { [native code] }hasOwnProperty: function hasOwnproperty() { [native code] }isPrototypeOf: function isPrototypeOf() { [native code] }propertyIsEnumerable: function propertyIsEnumerable() { [native code] }toLocaleString: function toLocaleString() { [native code] }toString: function toString() { [native code] }valueOf: function valueOf() { [native code] }get __proto__: function __proto__() { [native code] }set __proto__: function __proto__() { [native code] }
va = Meteor.user()._id
"4Dyaa5wRmxmq7j7XF"
Meteor.users.update(va, {$set: {email: 'the@aarts.com'}})
1
debug.js:41 update Failed: Access denied

我不确定要包含哪些其他相关代码.我没有设置拒绝(或允许)规则.这是一个非常简单的用户设置,我只是看不到可能阻止它的东西.

这是我得到的包裹:

ccounts-facebook          1.0.4  Login service for Facebook accounts
accounts-google            1.0.4  Login service for Google accounts
accounts-twitter           1.0.4  Login service for Twitter accounts
aldeed:autoform            5.1.2  Easily create forms with automatic insert a...
aldeed:collection2         2.3.3  Automatic validation of insert and update o...
autopublish                1.0.3  Publish the entire database to all clients
blaze                      2.1.2  Meteor Reactive Templating library
cmather:handlebars-server  2.0.0  Allows handlebars templates to be defined o...
email                      1.0.6  Send email messages
insecure                   1.0.3  Allow all database writes by default
iron:router                1.0.7  Routing specifically designed for Meteor
meteor-platform            1.2.2  Include a standard set of Meteor packages i...
mquandalle:jade            0.4.1* Jade template language
msavin:mongol              1.0.30* The insanely handy development package for...
service-configuration      1.0.4  Manage the configuration for third-party se...
twbs:bootstrap             3.3.4  The most popular front-end framework for de...
useraccounts:bootstrap     1.8.1* Accounts Templates styled for Twitter Boots

解决方法:

Meteor.users集合是一个特殊情况,具有已建立的结构和权限.您只能从客户端更新user.profile字段,即使安装了不安全的软件包也是如此.

这将起作用,例如:

Meteor.users.update(va, {$set: {'profile.email': 'the@aarts.com'}})

通常,电子邮件将从服务器代码中保存,并推送到用户记录中提供的“电子邮件”数组中.

“电子邮件”:[
        {
            “地址”:“the@aarts.com”,
            “已验证”:错误
        }
    ]

来自流星文档:

Users are by default allowed to specify their own profile field with Accounts.createuser and modify it with Meteor.users.update. To allow users to edit additional fields, use Meteor.users.allow.

相关文章

MongoTemplate 是Spring Data MongoDB 中的一个核心类,为 S...
笔者今天要分享的是一个项目重构过程中如何将数据库选型由原...
mongodb/mongoTemplate.upsert批量插入更新数据的实现
进入官网下载官网安装点击next勾选同意,点击next点击custom...
头歌 MongoDB实验——数据库基本操作
期末考试复习总结