2012-03-20 58 views
0

我正在使用自定義UserNamePasswordValidator進行用戶身份驗證。以下是代碼,它運作良好。UserNamePasswordValidator如何從SOAP頭中讀取用戶名密碼?

我想了解這個方法是如何從SOAP頭中的UserNameToken獲取用戶名和密碼的。

public class DistributorValidator : UserNamePasswordValidator 
    { 
     public override void Validate(string userName, string password) 
     { 
      if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(password)) 
      { 
       throw new FaultException("Username and password required", new FaultCode("9001")) 
................ 

回答

0

你應該打開WCF日誌(或使用Fiddler)看到SOAP消息的樣子。在那裏你會看到令牌。 WCF有一個非常複雜的模型來從消息中提取證書。有一個用於安全頭的(de)序列化程序,每個標記(用戶名,x.509等)都有自己的解串器。

相關問題