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のクイック検索では、サーバー/クライアントの時刻同期などのさまざまな問題が発生します)。また、サードパーティがサービスを消費するため私は可能な限り明確にしたいと思います。
として、内部例外でMessageSecurityExceptionなどのエラーを投げ、私はをクライアントに提供する必要はありません失敗した認証の詳細についての情報があるので、私はバリデータからfaultexceptionを投げつけていると思います。 – diggingforfire