我要通过我的web.config,有没有问题迷上了一个UserNamePasswordValidator WCF服务。在我的验证器中,我重写了Validate,检查凭据并在必要时抛出FaultException。UserNamePasswordValidator可以抛出MessageSecurityException之外的其他东西吗?
实施例:
public class CredentialValidator : UserNamePasswordValidator
{
public override void Validate(string userName, string password)
{
if (userName != "dummy")
{
throw new FaultException<AuthenticationFault>(new AuthenticationFault(), "Invalid credentials supplied");
}
}
}
如果我在.NET应用程序消耗此服务自己并提供无效证书,一个MessageSecurityException抛出以下消息:
“一个不安全的或不正确地担保故障是从另一方收到,请参阅FaultException内部错误代码和详细信息。“
我之前预计的FaultException是MessageSecurityException的的InnerException。
有没有办法让客户端只接收的FaultException异常?
MessageSecurityException对于异常的真实原因(在SO上快速搜索会产生各种问题,包括服务器/客户端时间同步...)并不是特别描述性的,并且由于第三方将使用该服务,我想尽可能清楚。
我不需要向客户端提供有关验证失败的详细信息,所以我想我会继续从我的验证器中抛出faultexception。 – diggingforfire 2011-12-26 11:51:02