我有这种情况:
1 个用户 - N 个项目
1 个项目 - N 个任务
1 个项目 - N 评论
当用户通过身份验证时,他可以执行以下操作:
/api/tasks/1
删除他的任务,但是当他在做 /api/tasks/2 时,他删除了其他人的任务
/api/comments/1
得到他的评论,但是当他在做 /api/comments/2 时,他阅读了其他人的任务
如何拦截用户操作(操作 URI)并以一般方式检查是否允许用户删除此任务。
Task 和 Comment 对 userId 一无所知,那么如何禁止用户删除其他人的数据呢?
我不是在谈论用户和角色场景。我说的是操纵 URI 以删除属于其他人的资源。
更新以回答@A Khudairy 的问题
1)电子邮件+密码发送到api。
2) Api 使用用户令牌返回用户。
3)然后随着每个请求将令牌发送到api,(以便我知道哪个用户在做什么并在后端处理它。)