对于我的API,我有一个项目和用户的数据库。 API调用遵循
的格式POST(GET,DELETE等)http://example.com/api/items/4
当用户调用API时,我希望能够获取该项的ID,以确保用户实际上有权修改该项。我能够毫无问题地获取用户ID(从OAuth2令牌中提取它),但获取项目ID的最佳方法是什么,在这种情况下为4?我更喜欢在iAuthenticate类的__isAllowed()函数中执行此操作以保持代码清洁。这可能吗?
答案 0 :(得分:1)
虽然有可能,但它会使基于auth类级别的资源拒绝用户的过程变得复杂。
我总是喜欢在api方法级别执行此操作,一旦发现请求的资源不属于用户,我们仍然可以从api方法抛出401 Unauthorized