2012-10-04 34 views
0

因此,此處爲設置。我有一個STS提供程序和2個ASP.NET MVC站點兩個信任相同的STS提供程序。用戶來到站點A並被重定向到STS提供者被動登錄,認證正確,並且按照預期被重定向回站點「A」。這一切都很好。我可以看到在代碼中的令牌和身份的網站「A」使用下列內容:如何使用WIF和STS提供商從站點A獲取站點B上的SSO

IClaimsPrincipal claimsPrincipal = Thread.CurrentPrincipal as IClaimsPrincipal; 
IClaimsIdentity claimsIdentity = (IClaimsIdentity)claimsPrincipal.Identity; 

現在有現場「A」到網站「B」的鏈接truts的相同 STS provder。問題是,當我導航到網站'B'時,索賠信息不存在,並且用戶未被自動驗證。按照STS和WIF文檔下面應該發生:

「流程開始像往常一樣,用戶的B內設有一個請求一個頁面,被重定向到STS以獲得令牌然而,這一點。時間用戶已經與 的STS網站,因爲存在由STS 餅乾表示的活動會話驗證。這意味着爲STS頁面的請求直接導致的 的SecurityTokenService髮卡序列執行,而不向用戶示出 任何用於憑證收集的UI 令牌默認發出 並轉發根據通常的順序編輯B。從 時刻,用戶點擊B鏈接,瀏覽器顯示B請求的頁面 ,只有 瀏覽器中的地址欄閃爍一些將泄露一些身份驗證 。這幾乎是單點登錄(SSO)的含義: 用戶只經歷了一次登錄的體驗,而從 系統上的那一刻能夠訪問進一步的可靠方 而不提示用戶輸入憑據「

有人知道STS提供商,網站A或網站B爲了使這項工作正確發生什麼需要發生嗎?記住STS和網站'A'工作正常;它只是網站'B'沒有獲得SSO的能力。

Thanks!

+0

那麼當用戶導航到B時會發生什麼? –

回答

1

是的 - 你應該得到SSO。

使用ADFS術語,我假設你給Fed服務器A和B都帶有STS,並且在STS上配置了A和B作爲具有基本相同配置的依賴方?我假設你已經比較了A和B的web.config?

清除全部您的cookies - 我發現FireFox做的最好。

導航直接到B.會發生什麼?

  • STS登錄屏幕?
  • FBA登錄界面?
  • 什麼都沒有 - 只是直奔B?

如果是STS登錄屏幕,當您進行身份驗證並導航到A時會發生什麼?

如果沒有,B上的登錄頁面是否受到保護?

+0

*我假設你爲Fed服務器A和B都配有STS,並且在STS上配置A和B作爲具有基本相同配置的依賴方?我假設你已經比較了A和B的web.config?*前面的語句中的某些東西是罪魁禍首 - 它按照記錄工作,但是必須的是所有分散的配置都是正確的並且適用於特定的應用程序(不能顯然複製和粘貼一切)。感謝您的答覆。 – atconway

相關問題