2011-04-16 52 views
1

我們目前的應用程序是使用Acegi的基於表單身份驗證的標準Spring 2.5應用程序。但是,我們需要爲第三方應用程序公開一些REST服務,並且我們試圖通過SSL使用BASIC身份驗證。我們使用RESTEAsy來公開REST服務。現在,鑑於應用程序的其餘部分使用基於會話的身份驗證&,我如何爲幾個REST服務啓用基本身份驗證。WebApplication中REST Web服務的Spring/Acegi安全性?

對我來說,這個用例看起來很正常,但是,我在網上找不到太多參考。任何意見/建議將非常感激。

+0

也許你可以使用OAuth。 Spring已經提供API來實現http://static.springsource.org/spring-security/oauth/userguide.html – 2011-04-16 10:49:44

+0

OAuth對於我的需求來說太複雜了。我只需要基於SSL的基本身份驗證。 – Sajid 2011-04-17 00:36:56

回答

0

在Spring Security Reference中檢出Basic/Digest Authentication

+0

那麼,正如我所說,我已經使用基於表單的身份驗證,所以已經有一個身份驗證入口點。我的問題是,如果它有可能基本和基於表單的認證共存在同一個安全配置文件中。 – Sajid 2011-04-17 13:56:48

+0

是的。您需要將過濾器添加到您的配置中。 – sourcedelica 2011-04-17 20:29:54

+0

我試圖做到沒有太多運氣,可能會做一些愚蠢的錯誤。你能指點我一些樣品/參考代碼嗎?謝謝。 – Sajid 2011-04-17 21:23:54

2

關於是否安全使用形式的認證基本/摘要式身份驗證 REST服務更普遍的問題 - 這是深深紮成的RESTful架構的重要制約因素之一 - 無國籍

考慮到這一點,登錄服務意味着在服務器上保持狀態,這違背了無狀態服務器的限制。從認證POV,基於表單的認證意味着登錄,而基本/摘要認證意味着將認證憑證嵌入到每個請求中,而不需要在服務器上保持任何狀態。這就是爲什麼這種認證更符合REST的構建方式。

希望這會有所幫助。

+0

你幾乎從我這裏得到了+1,但是你能說一下在這對中使用Form auth而不是Digest,以便問題得到解答嗎? (如果這只是一個切換事物的問題,否則它就是正常工作 - 正如我懷疑它可能是 - 然後說明確顯然是非常有價值的,並獲得upvote。) – 2011-12-06 11:14:56

+0

編輯原始響應,添加一些細節。希望這可以幫助。 – Eugen 2011-12-06 14:45:49