2011-12-11 78 views
0

什麼是實現上下文REST的方式,例如。 GET /ws/shoppingcart返回相應的用戶(這裏是上下文)購物車。這只是一個例子。 我是否需要安裝SSL並使用https://而不是http://來爲每個用戶請求提供服務?上下文REST。怎麼樣?

編輯

整個故事:我需要開發後端REST服務,然後將移動設備(本地應用程序)一起使用。後端語言是Java。所以,有很多用戶,所以我需要確保知道當前的「登錄」用戶,因此可以將任何請求與正確的用戶身份(身份驗證)相關聯。所以,我想知道什麼是正確的實施方式?從乞討到年底開始:

  • 初始發送請求的用戶名/密碼,
  • 關聯的每個以下要求與當前用戶
  • 拒絕服務請求,如果沒有當前用戶,那麼匿名電話,即只有公共請求允許匿名用戶
  • 的解決方案應該是足夠安全
+0

請提供更多您的意思的例子。一個例子是不夠的。 – Oded

+0

我們在這裏說什麼軟件? –

回答

0

我們已經實現了類似的方法是要求所有的請求有一個「票」發送標題。該票據由初始/登錄方法創建並返回。

我們將票存儲在數據庫中並使用滑動過期。

+0

那麼,初始登錄請求是SSL/TLS請求?如果有人有機會獲得「門票」,他/她可以暫時在未經授權的情況下訪問資源,直到門票過期爲止,對吧? – akazlou

0

我們使用SSL並從證書中檢索用戶的身份。但是,您可以使用標準或自定義標題字段。一個例子就是通過cookie標題字段將它傳遞給cookie。另一種可能是將這個用戶上下文包含在你的URI方案中,儘管如果你沒有在你的「協議」中使用超媒體(HATEOAS)(例如,客戶端通過一個衆所周知的入口點訪問服務,然後單純地根據在響應中提供的鏈接)

很顯然,任何這些都會影響您的「協議」並需要進行適當的文檔記錄,以便客戶端知道該怎麼做。