授权REST资源访问

时间:2018-05-01 01:07:52

标签: rest restful-authentication restful-url

当授权从REST端点访问资源时,我是否需要验证整个路径的授权和所有权,还是只需要验证所请求的最终资源?即。

/公司/ 12 /雇员/ 209 /帖/ 5

所以被访问的资源是#5后,所以如果发出请求的人有权访问#5,我是否需要验证员工209是帖子#5的作者,以及员工是否属于公司#12 ?如果要验证整个URL路径,这似乎会很快失控。

1 个答案:

答案 0 :(得分:1)

对于API,特定帖子由URL标识,而不是URL末尾的数字。您的API应将这些视为两个不同的东西:

/companies

如果你的后端从它们中获取语义含义就没关系了,但你绝对不应该说“好吧,这最后一部分是该帖子的唯一ID,所以我只是忽略其余的URL” 。使用像你这样的嵌套结构的大多数人都允许使用id为5的多个帖子,每个公司的每个员工都有一个。

对您的API一无所知,该示例看起来非常像它应该是三个单独的顶级端点,每个端点分别用于/employees/posts和{{1}}。尽可能减少层次结构。