处理用户仅授权某些子资源的集合的GET请求

时间:2012-07-11 13:32:28

标签: rest authorization

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

例如博客api:

GET /post - 列出帖子

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

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

这是如何正常处理的?是否存在缓存分支?在这种情况下是否存在维护GET语义的问题?

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

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

1 个答案:

答案 0 :(得分:0)

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

有关会话和会话变量herehere的更多信息。