授权从REST端点对资源的访问时,我需要验证整个路径的授权和所有权,还是仅验证所请求的最终资源?IE浏览器
/ companies / 12 /员工/ 209 /帖子/ 5
因此正在访问的资源是帖子#5,所以如果发出请求的人有权访问帖子#5,我是否需要验证员工209是帖子#5的作者以及该员工属于公司#12?如果要验证整个URL路径,这似乎很快就会失控。
对于API,URL标识的是特定帖子,而不是URL末尾的数字。您的API应该将它们视为两种不同的事物:
/companies/12/employees/209/posts/5
/companies/11/employees/209/posts/5
如果您的后端从它们中提取语义是可以的,但是您绝对不应说“嗯,最后一部分是帖子的唯一ID,因此我将忽略URL的其余部分”。大多数使用像您这样的嵌套结构的人都会允许ID为5的多个帖子,每个公司的每个员工一个。
知道也不关心你的API,这个例子看起来极像是它应该是三个独立的顶级端点,分别为/companies
,/employees
和/posts
。在可能的情况下,尽量减少层次结构。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句