2012-07-11 17 views
2

我正在尋找一種乾淨的方式來處理您有一個資源表示集合的情況,但驗證用戶可能只有權限訪問某些子集集合中的資源。處理GET請求的集合,其中用戶只授權一些子資源

例如一個博客API:

GET /post - 本帖子

GET /post/1 - 獲取特定崗位

帖子可以是公共或私有的。因此,如果我有私人訪問權限,/ post api可能會返回所有帖子,但是如果我只有公共訪問權限,它將僅限於僅返回公開帖子。

這通常如何處理?有緩存後果嗎?在這種情況下,維護GET的語義是否存在問題?

注意:身份驗證是通過在請求標頭中發送的令牌來處理的,不知道是否也在其中播放。

編輯:爲了說明我對如何在RESTful系統中正確建模,而不是如何處理實際授權感興趣。

+0

是的,如果相同的URL可能會爲不同的用戶返回不同的值,那麼存在緩存後果。 – Ben 2012-07-11 13:36:54

回答

0

您可以使用會話變量來設置用戶的授權級別。當他們訪問帖子時,您可以檢查他們的授權級別,並只返回他們有權授權的帖子。

有關會話和會話變量的更多信息herehere

+0

爲了澄清,我不問如何處理授權,我正在問如何從REST角度對它進行建模。 – see 2012-07-11 13:41:11

相關問題