从WCF测试客户端运行WCF服务时指定客户端凭据
本文关键字:客户端 WCF 服务 测试 运行 | 更新日期: 2023-09-27 17:58:22
我有一个WCF服务,我习惯于从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;
}
}
您可以使用clientCredentials端点行为来指定客户端凭据,例如证书。您必须创建一个自定义扩展。但是您是否考虑过暂时关闭身份验证?毕竟,测试客户端仅用于测试目的。