2009-09-24 50 views
5

我是Spring/JavaEE網絡程序員,並且正在開始調查REST未來Web應用程序的原則,但我無法弄清楚如何執行可用登錄。對於Web API來說它是有道理的,但最終用戶面臨的Web應用程序又如何呢?我查看了HTTP基本/摘要式身份驗證,但只會產生一個醜陋的對話框。有人有主意嗎?基於表單的登錄,同時也應用REST原理

回答

2

這真的取決於你如何處理基於窗體的登錄。

它在J2EE規範中定義的方式,登錄頁面只有在他/她嘗試訪問受保護資源時纔會顯示給(尚未認證的)用戶;它不是(或不應該)可以自行訪問。在這種情況下,登錄頁面不必受REST原則的支配,因爲它本身不是「資源」。換句話說,工作流程是:

  1. 用戶試圖得到休息的url,「/產品/ 0332425」
  2. 他/她將被重定向到/登錄',柱體他的證件,被重定向回(如GET)到原始頁面('/ products/0332425')
  3. 後續嘗試進入'/ login'會導致錯誤(403?)或重定向到「root」。

如果這不適用於您,並且您需要在多個頁面上提供您的登錄表單,請將其作爲頁面的一部分並將其提交爲其他POST的一部分。

+1

這不是真正的RESTful。 RESTful將是HTTP身份驗證,您可以在每個請求中發送用戶名和密碼(或散列)。 – deamon 2010-01-22 14:48:45

相關問題