2012-03-29 34 views
2

我有要求通過瀏覽器中的單點登錄將憑據從一個Microsoft .NET Web應用程序傳遞到另一個。我希望利用Windows Azure(ACS)作爲我的安全令牌服務以及Facebook/Open Id作爲授權索賠的頒發機構。聯合的基於聲明的身份驗證和單一登錄

有誰知道我如何通過不同的.NET Web應用程序實現「基於聯合聲明的身份驗證和單一登錄」嗎?

注意兩個不同的Web應用程序託管在不同的數據中心(不是雲)中,憑證需要通過瀏覽器流動,這是可以通過索賠和cookie(如果是這樣的話)實現的嗎?

乾杯


*更新 例如用戶通過ACS登錄到應用程序A後,他們再點擊應用程序A上的一個按鈕,將其重定向到應用程序B(合作伙伴/第三方站點)

僅供參考 - 我認爲我不能訪問應用程序B網站),應用程序A是...

回答

2

這裏描述的是與Windows Azure訪問控制服務完美協作的混合場景。如果您的應用程序是內部部署或雲中的,則無關緊要。基本上,您的應用程序只需使用ACS作爲身份提供者(右鍵單擊您的項目,添加STS參考)。一旦你做到這一點,下面將有可能:

  1. 用戶瀏覽application1.com
  2. 認證是必需的。 application1.com重定向到ACS'登錄頁面'(您可以選擇身份提供者)或列出所有可用的身份提供者。
  3. 用戶選擇使用Windows Live
  4. 用戶被重定向到login.live.com,在那裏他可以輸入他的電子郵件地址+密碼。他選擇保存密碼並保持連接。
  5. 用戶被重定向到ACS有一些聲明。 ACS再次重定向到application1.com的一些聲明
  6. 用戶在application1.com中進行身份驗證,並且他的聲明在應用程序中可用。
  7. 用戶連接到application2.com
  8. 需要身份驗證。 application2.com重定向到ACS'登錄頁面'(您可以選擇身份提供者)或列出所有可用的身份提供者。
  9. 用戶選擇使用Windows Live
  10. 用戶在Windows Live中已經過身份驗證!而login.live.com立即重定向他ACS一些索賠
  11. ACS一些要求再次重定向到application2.com
  12. 用戶進行身份驗證在application2.com和他的要求是應用程序中提供。

希望這會有所幫助。

Sandrino

+0

感謝您的幫助Sandrino,你的號碼8,需要驗證和9號,然後使用Windows Live ID(手動單擊用戶,如#1!),是有可能,他們從6到7從一網站到另一個和聲明通過這是無縫的用戶,例如他們不需要再次驗證(甚至點擊一個按鈕)?日Thnx! – user728584 2012-03-29 08:16:54

+0

謝謝安德魯,我打算自定義登錄頁面,我喜歡它!我剛剛更新了原來的帖子,我不認爲我可以訪問應用程序B(它是一個合作伙伴網站,據我所知,我們無法更改),這仍然有可能嗎?來自應用程序A的ACS,信用(聲明)流向應用程序B的應用程序B,這是第三方網站,未經應用程序B登錄,在應用程序A處得到認證?日Thnx – user728584 2012-03-29 21:54:55

相關問題