2013-12-16 21 views
0

我對SAML很新,我需要一些說明。將SAML與我的mvc網絡應用集成

我有一個asp.net mvc應用程序。現在我想使用Tableau API並顯示一些圖表。我想通過使用SAML SSO傳遞對tableau的身份驗證。 我的需求是一樣的東西,

  1. 我的應用程序/的Tableau服務器充當SAML SP通過HTTP
  2. SP重定向用戶到IDP認證
  3. SAML的IdP與認證結果和原始重定向用戶返回到SAML SP請求收益。
  4. SAML SP通知Tableau受信任的身份驗證,表明用戶已成功進行身份驗證。
  5. 受信任的認證向用戶發出信任票。
  6. 用戶能夠訪問(授權的)Tableau視圖/內容。

我需要爲此創建Idp。

任何一步一步的desc或代碼示例將會有所幫助。 您能否請請介紹一下如何使用SAML。

非常感謝Anish。

回答

2

SAML使網站(服務提供商)能夠請求用戶登錄另一個域(身份提供商)有許多方法可以實現此目的。

從您的措詞中不完全清楚你想要達到的目標。我認爲你的意思是你希望你的asp.net應用程序的用戶使用他們的asp.net應用程序會話/憑證登錄到另一個應用程序,那麼你的asp.net應用程序是IdP,而另一個應用程序是SP。有幾個選項:

  1. 的asp.net應用程序可能推動包含用戶到其他應用程序的SAML SSO端點信息SAML斷言。 或
  2. 另一個應用程序可以通過SAML請求將用戶引導到asp.net應用程序,要求它對用戶進行身份驗證並返回saml斷言。

這是否清除了幾件事?

+0

我已經更新了我的問題,具體到我的需要..你可以看看。 –

+0

你可以使用任何你喜歡的IdP。 Shibboleth是一款開源的SAML IdP,可以看到很多用途。它有一個相當陡峭的學習曲線,但大多數saml IdPs都有。 – tom

+0

在應用程序中創建IdP是一件繁瑣的事情嗎? 請你詳細說明步驟。 –

1

在SAML IDP方面,看看:

  • ADFS
  • OpenAM
  • Shibboleth的
  • SimpleSAMLphp

SAML是一個複雜的協議,所以不存在這樣的東西一個簡單的SAML IDP。

在.NET中,沒有開源的服務器端您可以使用的SAML堆棧。

最重要的是,您的IFP需要憑證存儲進行身份驗證。你打算使用什麼?例如

  • AD
  • SQL數據庫
  • LDAP

這的Tableau應用程序必須具有某種授權例如誰可以做什麼,誰有權訪問,誰可以編輯等。

這是由IDP以令牌內SAML斷言的形式提供的。