首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >流星教程步骤11

流星教程步骤11
EN

Stack Overflow用户
提问于 2015-04-14 14:49:40
回答 2查看 130关注 0票数 0

由于某些原因,我无法让流星教程第11步的最后一部分开始工作。步骤的url在这里:https://www.meteor.com/try/11

最后一步是“为了完成我们的私有任务特性,我们需要向我们的deleteTask和setChecked方法添加检查,以确保只有任务所有者可以删除或删除私有任务:”

当我将代码添加到deleteTask和setChecked方法中时,其他浏览器中的用户仍然可以删除和检查/取消检查不同用户的任务。

这就是我的deleteTask和setChecked函数在修改后的样子。也许我做错了?

代码语言:javascript
运行
复制
deleteTask: function (taskId) {
    var task = Tasks.findOne(taskId);
    if (task.private && task.owner !== Meteor.userId()) {
      // If the task is private, make sure only the owner can delete it
      throw new Meteor.Error("not-authorized");
    }  
    Tasks.remove(taskId);
},
setChecked: function (taskId, setChecked) {
    var task = Tasks.findOne(taskId);
    if (task.private && task.owner !== Meteor.userId()) {
       // If the task is private, make sure only the owner can check it off
       throw new Meteor.Error("not-authorized");
    }
    Tasks.update(taskId, { $set: { checked: setChecked} });
 },

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-14 17:19:12

在步骤11中实现的代码阻止其他用户检查/取消检查其他用户的私有任务

从你的代码:

代码语言:javascript
运行
复制
// If the task is **private**, make sure only the owner can delete it

如果用户是公共,则仍然可以检查/取消检查不同用户的任务。

票数 1
EN

Stack Overflow用户

发布于 2015-06-25 23:41:38

正如alfreema所说,如何防止其他用户删除公共任务。

代码语言:javascript
运行
复制
deleteTask: function (taskId) {
    // Inside the deleteTask method
    var task = Tasks.findOne(taskId);
    if (task.public && task.owner !== Meteor.userId()) {
        // If the task is public, make sure only the owner can delete it
        throw new Meteor.Error("not-authorized");
    }
    Tasks.remove(taskId);
},

setChecked: function (taskId, setChecked) {
    var task = Tasks.findOne(taskId);
    if (task.public && task.owner !== Meteor.userId()) {
        // If the task is public, make sure only the owner can check it off
        throw new Meteor.Error("not-authorized");
    }
    Tasks.update(taskId, { $set: { checked: setChecked} });
}

尽管我们像上面一样更新代码,用task.private代替task.public,但是它仍然允许删除任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29630536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档