場景:許多網站必須通過我公司的Extranet上的iframe進行顯示。 Extranet使用SSL和基於Active Directory的Windows身份驗證。每個iframe'd網站都需要經過身份驗證的用戶,但不要求用戶手動登錄該用戶。每個網站的認證機制尚未確定。使用Windows Identity Foundation對iframe中的Extranet網站進行身份驗證
問題:我需要找出如何完成iframe中的自動登錄。我可以要求iframe的網站使用適合我的目的的特定認證機制,但我確實需要向他們提供來自AD的特定用戶信息。
我被建議使用Windows Identity Foundation來解決身份驗證問題。我正在考慮兩種解決方案,但作爲WIF新手,我不確定哪種更好,甚至可能。
解決方案1:我使用AD聲明創建了自定義安全令牌服務。當用戶瀏覽我的一個iframe頁面時,頁面以編程方式從STS獲取一個令牌,並以某種方式將該令牌添加到iframe。看看網上的示例我相信我理解如何構建STS並以編程方式獲取令牌。但是,如何將其與iframe一起使用?將其插入iframe URL(http://website/default.aspx?token=xxx
)似乎不安全。
解決方案2:我創建了相同的STS。 iframe的網站被配置爲使用STS作爲身份驗證提供程序。當用戶瀏覽我的iframe頁面時,iframe的網站會自動向STS查詢令牌,並將用戶登錄。但iframe的Web部件如何獲取令牌 - 是可用的原始用戶請求上下文,或它是如何工作的?這可以在iframe內部完成 - 我記得曾經閱讀過關於cookie不被允許進入iframe的內容嗎?
對上述問題的回答 - 也許是一種不同的解決方案 - 是最受歡迎的。
謝謝,安德烈亞斯。所以需要做的是創建STS,並配置我的Extranet和RP站點以使用STS作爲身份驗證提供程序。我需要爲RP站點做些什麼來發送p3p頭文件,還是瀏覽器配置? –
我發現這個鏈接描述的過程:[鏈接](http://support.microsoft.com/kb/324013)。所以感謝你的幫助,安德烈亞斯。 –