2

我正在寻找一种干净的方法来处理您拥有代表集合的资源的情况,但经过身份验证的用户可能仅有权访问集合中资源的某些子集。

例如一个博客 API:

GET /post- 列出帖子

GET /post/1- 获取特定的帖子

帖子可以是公开的或私人的。因此,如果我有私人访问权限,/post api 可以返回所有帖子,但如果我只有公共访问权限,它将仅限于返回公共帖子。

这通常是如何处理的?有缓存后果吗?在这种情况下,维护 GET 的语义是否存在问题?

注意:身份验证是通过在请求标头中发送的令牌处理的,不确定是否也起作用。

编辑:澄清我对如何在 RESTful 系统中正确建模感兴趣,而不是如何处理实际授权。

4

1 回答 1

0

您可以使用会话变量来设置用户的授权级别。当他们访问帖子时,您可以检查他们的授权级别并仅返回他们有权访问的帖子。

有关会话和会话变量的更多信息,请点击此处此处

于 2012-07-11T13:39:24.017 回答