2014-05-07 40 views
2

我在運行Windows_Server-2008-R2_SP1-English-64Bit-Base-2014.04.09的AWS EC2上安裝PingFederate。我有一個使用Spring Security進行認證的Java應用程序。配置Ping Federate和Spring SAML以驗證應用程序

我已閱讀了關於如何使用PingFederate,我可以設置身份提供商(IdP)和服務提供商(SP)。我已經收集了的IdP將應用程序用戶提供登錄憑證(身份),並將其傳送到具有該頁面在這裏在這個圖中除了SP的目標應用SP:

http://documentation.pingidentity.com/display/PF66/Service+Providers+and+Identity+Providers

此圖像還顯示了IdP和SP兩側的聯合身份識別軟件。

我已經用我的本地PingFederate服務器創建了一個IdP和SP,只是爲了看看配置選項是什麼,而我對這個部分實際上需要能夠爲我的Spring Security應用程序提供SSO感到困惑。

我的問題是:

  1. 我需要一個IDP和SP來實現,我要怎樣做。

  2. 現在我們的用戶名和密碼都存儲在SQL Server中,我是否可以利用PingFederate來驗證用戶身份?

  3. 我是否應該使用Spring Security SAML來處理這個問題,或者是否需要另一個路由?

感謝您的幫助,我已經聯繫PingFederate,但是我的區域解決方案架構師恰好在星期五纔到。

我也很抱歉,如果我完全不在我的想法,我想圍繞什麼是需要的。

+2

「生產」實例是否在同一個域中(即domain.com)?代理(IIS或Apache)後面的彈簧安全應用程序?或者,它是直接的春天? –

+0

Spring Security應用程序位於具有pubnat的AWS VPC中,如果它被視爲代理。這是否回答你的問題? – hyperlite

回答

4

假設您的目標是在Ping和您的應用程序之間建立聯盟(以便例如使驗證外部化或啓用單一登錄),您的想法是正確的。

Ping Federate充當身份提供商(IDP),您可以將其配置爲連接到您的SQL服務器,以便它可以從那裏驗證您的現有用戶。 IDP與其他稱爲服務提供商(SP)的應用程序進行通信。

爲了連接到Ping,您的應用程序因此需要能夠充當SAML 2.0服務提供程序,並且使用Spring SAML是一種非常好的方法來啓用它。

SP和IDP用於單點登錄之間的數據的典型流程類似於:

  1. 用戶訪問需要認證
  2. SP創建一個鑑權請求並將其發送到IDP SP應用程序(使用重定向在用戶的瀏覽器)
  3. IDP處理請求,並驗證用戶
  4. IDP返回響應SP與AuthenticationResponse消息
  5. SP流程響應並基於包含的數據爲用戶創建會話
3

有一種假設認爲您需要在Spring應用程序和PingFederate之間使用SAML。這是不正確的,取決於它是如何部署的以及你是否(見Andy K後續問題)。您應該查看OpenToken Integration Kit for Java或Ping的ReferenceID Int Kit作爲可能的解決方案。整合比試圖將另一個可能不需要的SAML解決方案整合起來要簡單得多。但是,我會建議與您的RSA交談,他們可以爲您提供最佳方案。

+0

我只決定使用SAML,因爲在完成這一步之後,我需要通過SAML對Tableau服務器進行身份驗證。就像我在迴應Andy K時所說的那樣,我正在使用AWS Elastic Beanstalk將其部署到駐留在AWS VPC中的Apache Tomcat服務器。我將嘗試使用Java的OpenToken集成套件,因爲您說它集成起來要簡單得多。通過這樣做,我是否需要使用Spring Security或PingFederate保護站點?非常感謝。 @Ian – hyperlite

+1

如果您需要使用Spring Security,我會感到很驚訝。但是,您的RSA可以深入挖掘,根據您的應用程序在Tomcat中的部署方式找出正確的方法。 HTH – Ian

+0

我的應用程序被配置爲使用Spring Security角色能夠保護函數,並根據用戶角色允許的內容動態顯示/隱藏JSP中的段。 對不起,但我不是正面的,你指的是我的RSA?這是Ping Federate嗎?我剛收到來自Ping支持的電子郵件,解釋了我正在努力完成的任務,並表示如果使用java工具包,我將不再需要Spring。我仍然會使用Spring Framework來實現其他功能,例如RequestMappings的註釋,但我不知道如何像以前一樣使用這些角色。 @vschafer – hyperlite

相關問題