我有一個ASP.NET Web應用程序(在.NET 4.5上運行)。目前它正在進行表單身份驗證。我們已經建立了具有多個聯合,一些內部和一些外部(客戶STS)的ADFS 3服務器,並且我們希望將Web應用程序配置爲使用主動身份驗證模型。如果我理解正確,那意味着我們將繼續在我的Web應用程序中使用登錄表單,並且它將從用戶那裏收集憑證,然後向我們的ADFS服務器發送安全憑證請求。令牌請求可能會告訴ADFS哪個聯合發送請求。如果一切都成功了,那麼我從ADFS獲得一個令牌,驗證它,然後構造一個ClaimPrinciple並從那裏開始。ADFS Active Authentication .NET 4.5(Post-WIF)
現在,在這種背景下,我遇到的問題是如何將令牌請求發送到.NET 4.5中的ADFS。儘管被標記爲適用於.NET 4.5,但我看到的每個示例均使用來自WIF的舊UserNameWSTrustBinding類。這已被棄用,不在4.5中。網頁搜索「UsernameWSTrustBinding 4.5等效」已無果。我見過一個人構建他自己的類來複制功能,但我不相信這是必要的。我有一個預感,在這裏有一個類,我應該使用WSTrustChannelFactory中的綁定,但我找不到它。或者,也許整個WSTrustChannelFactory模式也是過時的(但爲什麼它會被包含在.NET 4.5中)?
任何人都可以提供一小段代碼,甚至可以闡明你應該如何在.NET 4.5中進行主動身份驗證?
https://github.com/thinktecture/Thinktecture.IdentityModel.45/blob/master/IdentityModel/Thinktecture.IdentityModel/WSTrust/UserNameWSTrustBinding.cs –
@WiktorZychla好吧,不管你信不信,這正是該例子中,我上面提到的「某人」構建自己的班級,實際上將班級移植到4.5。這真的是最好的方式嗎? – ctb
看起來沒有其他辦法。我沒有想到爲什麼用戶名密碼從bcl中刪除,但Dominick重新創建了它。多米尼克是一位知名專家,不僅僅是「某人」。 –