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