是否可以在WCF中實現雙因素(或多因素)自定義身份驗證? 例如,我想驗證使用兩種不同的憑證類型的客戶端:WCF中的自定義雙因素身份驗證
1)用戶輸入用戶名和密碼
2)WCF服務驗證登錄+密碼
3)如果在前一步驟是成功的,服務器返回的祕密查詢(或OTP密碼號)
4)用戶輸入回答所接收的查詢並將其發送到服務器
5)如果回答是正確的 - 用戶認證是d在服務器上。他可以執行服務器方法。
經過身份驗證的用戶擁有安全令牌。在下一個服務器調用客戶端僅發送服務器安全令牌而沒有顯式憑證
我發現MSDN上關於它僅一個參考 - http://msdn.microsoft.com/en-us/library/ms788756.aspx
在.NET Framework 3.5的,客戶端的消息可以包含 給定類型的多個令牌,以及不同類型的令牌。
該功能支持多種場景,包括:
增量聲明發送。對服務的所有操作可能需要存在一組 聲明,但某些操作可能需要 附加聲明。客戶端可以獲得一個具有索賠的初始集合 的令牌並且使用另一個已發佈的令牌以及被調用的操作所需的其餘索賠 ,而不是爲每個操作使用單獨發放的令牌。
多因素身份驗證。當客戶必須在被允許執行操作之前從多個發行者或具有不同套索賠 的已發放令牌收集已發行令牌 。 WCF將發佈的 令牌視爲令牌類型,因此此場景要求 在消息中有兩個支持發放令牌的功能。
但沒有實際操作實例如何實現它:( 我只能使用自定義的用戶憑據進行身份驗證。
謝謝!我知道AD和證書認證 - 這很容易。但我想使用自定義身份驗證使用兩個(或更多)不同的自定義憑據。例如使用智能卡或生物識別掃描儀。 因此有必要在同一時間進行身份驗證通過不同方式的用戶。 –
請檢查這些是否有用。 http://msdn.microsoft.com/en-us/magazine/cc163434.aspx,http://msdn.microsoft.com/en-us/library/bb905527.aspx – CodeMad