从WCF测试客户端运行WCF服务时指定客户端凭证

问题描述:

我有一个WCF服务,我曾经从WCF测试客户端运行。现在我已经添加了用户名和密码的自定义身份验证到我的服务,并想知道我将如何通过用户名和密码?这仍然可以通过WCF Test Client指定客户端凭证吗?从WCF测试客户端运行WCF服务时指定客户端凭证

这里是我的自定义验证和用户帐户类:

public class CustomUserValidator : UserNamePasswordValidator 
{ 
    public override void Validate(string userName, string password) 
    { 
     if (null == userName || null == password) 
     { 
      throw new ArgumentNullException(); 
     } 

     UserAccountModel uam = new UserAccountModel(); 

     if(uam.Login(userName, password)) 
      return; 
     throw new SecurityTokenException("User invalid."); 

    } 
} 



public class UserAccountModel 
{ 

    private List<UserAccount> listUserAccounts = new List<UserAccount>(); 

    public UserAccountModel() 
    { 
     using (UserAccountContext ctx = new UserAccountContext()) 
     { 
      listUserAccounts = ctx.UserAccounts.ToList(); 
     } 
    } 

    public bool Login(string _usrname, string _pwd) 
    { 
     return listUserAccounts.Count(lua => lua.Username.Equals(_usrname) && lua.Pwd.Equals(_pwd)) > 0; 
    } 
} 
+0

请向我们显示您的代码。 –

可以使用clientCredentials终结点行为来指定客户端证书等证书。您必须创建一个自定义扩展。但是你有没有考虑临时关闭身份验证?毕竟,测试客户端仅用于测试目的。

+0

为什么我会关闭身份验证? – ElenaDBA