2014-11-06 78 views
1

我有多個Web應用程序,前端有angularjs,後端有servlet。請求使用ajax調用。 Servlets然後初始化java對象,它使用JDBC連接來獲取數據並返回結果。單點登錄Java中的多個Web應用程序

  1. 如何爲多個應用程序實現單點登錄?
  2. 我是否需要將認證代碼添加到現有項目中,還是應實施單獨的項目進行認證並在整個應用程序中使用它?

回答

2

只是好奇,你看過Stormpath Java SDK?還有一個名爲ID Site的功能,可爲您創建的應用程序提供單一登錄位置(如果您想使用它 - 它是可選的)。

一個Stormpath Java SDK的更新將很快獲釋,即使進一步自動化這個基於servlet的Web應用程序,包括通過OAuth 2令牌認證例如:

  1. 用戶在你的AngularJS登錄輸入用戶名/密碼面板。
  2. 用戶名/密碼被髮送到您的Java webapp,其中包含Stormpath SDK。
  3. SDK對用戶進行身份驗證,並在響應正文或cookie(或兩者)中返回安全身份標記(實際上是JWT)。
  4. 您的Angular應用程序將獲取該令牌並將其發送給您的所有Web應用程序。
  5. SDK驗證令牌並查找相應的用戶帳戶。請求的處理過程中
  6. 的用戶帳戶連接到的ServletRequest訪問任何時間(例如,編碼需要Account account = request.getAttribute("account");

沒有服務器端啓用此:)

如果你想早日進入嘗試了這一點,這裏是分支:https://github.com/stormpath/stormpath-sdk-java/tree/servlet-module

,並顯示如何啓用這個示例應用程序:https://github.com/stormpath/stormpath-sdk-java/tree/servlet-module/examples/servlet

的SDK是100%通過業務友好的Apache 2許可證開源。

披露:我是Stormpath的首席技術官,但也是一位開源安全倡導者 - 無論您是否使用Stormpath,我都希望看到每個人都可以輕鬆保護應用程序。

相關問題