【发布时间】:2014-01-31 20:53:28
【问题描述】:
我有 Project(id, name, userId) 表和 Activity 表(id, title, description, project_id)。 project_id 是指向 Project 表中 id 的外键。项目数据只能由创建它的用户访问。
现在,我公开了 REST Api 来为特定项目创建新活动:
方法:POST
身体 { "title" : "测试活动", "description" : "测试描述", “project_id”:“123”
}
它被 Web 应用程序使用。但是,当然它也可以被外部 REST 客户端使用。
问题: 尚未创建“项目 P”的用户可以通过在上述 Rest 调用中提供“项目 P”的 id 来将活动添加到“项目 P”。我想防止这种情况发生。我当然可以通过从给定的项目 ID 中获取项目数据并检查当前用户是否拥有该项目来编写验证逻辑,但我想要更通用的解决方案。 另外,请注意,这只是插入问题。 有什么想法吗?
【问题讨论】:
标签: sql rest authorization role-base-authorization