Asp.net-Mvc

ASP.NET MVC 2 和使用 WIF (Windows Identity Foundation) 的身份驗證

  • April 12, 2010

是否有以下可用的體面範例:

查看**WIF SDK**,有一些使用 WIF 與 ASP.NET 結合使用的範例,在使用者用來進行身份驗證的安全令牌服務 (STS) 之上WSFederationAuthenticationModule (FAM)重定向到 ASP.NET 站點薄皮膚(通過提供使用者名)和密碼)。

如果我正確理解 WIF 和基於聲明的訪問,我希望我的應用程序提供自己的登錄螢幕,使用者在其中提供使用者名和密碼,並讓這個委託給 STS 進行身份驗證,通過安全標準將登錄詳細資訊發送到端點(WS-*),並期望返回 SAML 令牌。理想情況下,SessionAuthenticationModule將按照範例FAMSessionAuthenticationModuleie 一起使用,即負責IClaimsPrincipal從會話安全分塊 cookie 重建並在安全會話到期時重定向到我的應用程序登錄頁面。

我所描述的是否可以使用FAMSessionAuthenticationModule使用適當的 web.config 設置,還是我需要考慮自己編寫一個HttpModule來處理這個問題?或者,是否重定向到使用者在被動請求者場景中登錄事實上的方法的瘦網站 STS?

“Claims Identity Guide”的本章提供了 WIF + MVC 的範例:

<http://msdn.microsoft.com/en-us/library/ff359105.aspx>

我確實建議閱讀前幾章以了解所有基本原則。這篇博文涵蓋了 MVC + WIF 的細節:

<http://blogs.msdn.com/b/eugeniop/archive/2010/04/03/wif-and-mvc-how-it-works.aspx>

控制登錄體驗非常好。您應該只部署自己的 STS(在您的域中,使用您的外觀等)。您的應用程序將簡單地依賴它進行 AuthN(這就是為什麼應用程序通常被稱為“依賴方”)。

該架構的優點是 authN 被委託給 1 個組件(STS),而不是分散在許多應用程序中。但另一個(巨大的)優勢是您可以非常輕鬆地啟用更複雜的場景。例如,您現在可以與其他組織的身份提供者聯合。

希望它可以幫助尤金尼奧

@新星:

令牌(包含聲明)可以選擇加密(否則它們將是明文)。這就是為什麼始終建議將 SSL 用於瀏覽器和 STS 之間的互動。

請注意,即使它們是明文形式,也無法篡改,因為令牌是經過數字簽名的。

引用自:https://stackoverflow.com/questions/2621496