使用Autoform插入并删除不安全的内容

时间:2014-12-03 21:07:40

标签: javascript meteor schema meteor-autoform

我在Meteor项目中一直使用Collection2和Autoform,让事情变得更容易!

但是,当我删除不安全时,它不再插入(Autoform提交按钮)。我期待这个!

但是,我搜索过,找不到让它工作的标准方法?我在lib文件夹中定义了一个模式,并将我的Autoform作为模板中的快速形式。我知道我需要允许客户端插入(我宁愿不这样做)或将其传输到服务器端(可能带有方法?)

任何建议都将不胜感激!我正在寻找实现它的标准方法。

1 个答案:

答案 0 :(得分:10)

经过多次挖掘后找到了我自己的答案。为插入,更新和删除创建了允许规则:

Posts = new Mongo.Collection('posts');

//SECURITY - Allow Callbacks for posting

Posts.allow({
  insert: function(userId, doc) {
    // only allow posting if you are logged in
    return !! userId; 
  },
  update: function(userId, doc) {
    // only allow updating if you are logged in
    return !! userId; 
  },
  remove: function(userID, doc) {
    //only allow deleting if you are owner
    return doc.submittedById === Meteor.userId();
  }
});

//Schema then defined as usual

只是一个注释,submittedById是我的集合中保存userId的字段。如果你把它称为不同的东西,改变它!

希望这可以帮助有类似问题的人。