2013-07-28 34 views
-1

我正在構建幾個不同的Web服務,託管在不同的機器上,但我希望一組用戶能夠訪問所有這些服務,但在這些服務之間也具有不同的讀取/寫入權限。完成這些多重服務的安全認證方案的最佳方式是什麼?如何爲多個Web服務製作驗證服務?

+0

您使用的是什麼Java框架?這將幫助我們回答這個問題。我正在考慮的「框架」,例如Struts,Spring,Weld等。 –

+0

我還沒有開始,但是我傾向於Scala升降機。 – user602525

+0

請閱讀[FAQ]和[Ask]。 SO的這個問題太廣泛了。你可以寫一本關於這個主題的完整書籍......實際上,你應該從研究可用的書開始。 –

回答

2

這是一個非常普遍的問題,所以這裏是一個籠統的回答。

你所尋找的是一些與所有網站上的不同部位不同的授權和訪問控制方案結合使用一個單一的認證方案。

第一部分是幾乎什麼是「單點登錄」(SSO)系統給你,但你可以做到這一點沒有SSO。

第二部分可以通過從授權方案分離的訪問權限管理來實現。例如:

  • 以Spring Security可以創建一個用於用戶名和密碼,以及本地數據庫表共享的LDAP服務管理「角色」一「的UserDetails」服務。

  • 或者你可以使用一個LDAP系統的一切,但擴展架構以允許代表個人網站的訪問控制角色。

(這些只是例子......不建議。我不會提出具體建議,因爲這幾乎是不可能做到客觀,特別是因爲你的需求是如此之高的水平。例如,很多依賴於用於實現網站的技術。)

2

目前我建立一個登記制度爲我們的項目,類似於你想要的東西。儘管我們有一個不同的堆棧:Scala-Akka-Spray,認證系統基於StormpathApache Shiro以及一些用於更多REST風格會話管理的自定義內部邏輯。 Strompath將爲您提供一個非常靈活的組設置和Shiro的良好用戶管理系統,如果您不使用Akka,可以爲您提供管理會話管理。