2016-05-20 8 views
0

私は、カスタムユーザー名パスワードバリデーターを使用して安全なWCFサービスを提供しています。かなりの努力の後にすべてが最終的に働いています。私はちょうど最後の問題が1つあります。ユーザーのログイン資格情報が間違っていることを通知する例外を投げるたびに、メッセージ「追加情報:セキュアでないか間違って保護されたフォルトが相手から受信されました。詳細。ユーザーに正しいユーザー名を入力する方法usernameパスワードバリデータ

私が最初にFaultExceptionを投げた場合、内部例外には私が消費者が見るために意図したメッセージ( "Unknown Username or Incorrect Password")が含まれます。他の型の例外がスローされた場合、内部例外は文字通り、記述的ではないジェネリック外部例外と重複しています。

"Unknown Username or Incorrect Password"というメッセージが含まれています。私も希望のメッセージで私自身のMessageSecurityExceptionをスローしようとしましたが、うまくいきませんでした。私のバリデータから例外をスローする方法を知っている人はいますか?外部例外には、消費者に見せたいメッセージが含まれていますか?

答えて

0

私は、フォルト契約を使用してフォルトを伝播していると仮定しています。 MessageSecurityExceptionはWCFによって生成される可能性が最も高いですが、WCFを使用する際に例外として除外されるのはCommunicaitonExceptionです。このquestionにはいくつか考えられる原因があります。

ただし、無効なユーザー名/パスワードを処理するために例外を使用することを再考することをお勧めします。例外的なケースでは例外を使用するだけの慣行に従う人が多く、無効なユーザー名とパスワードは例外ではありません。おそらく、エラーメッセージとともにboolや文字列を返すほうがよいでしょう。

+0

セキュリティで保護されたWCFサービスで使用するカスタムユーザー名パスワードバリデーターを作成するときは、UserNamePasswordValidatorからクラスを派生させてValidateメソッドをオーバーライドする必要があります。 Validateメソッドは、userNameとpasswordの2つの引数をとり、戻り値の型はvoidです。だから私はこの事件でブールかストリングをどうやって返すのか見ていない。はい、私は障害の例外を使用しています。しかし、私が読んだことから、バリデータからあなたのフォルト契約を使うことはできません。 –

+1

あなたは何をしようとしているのか誤解しました。それは、この[質問に応じてそれについて多く行うことができないかもしれないように見えます。](http://stackoverflow.com/questions/7755256/wcf-certificate-custom-validation-send-exception-message-to-client )私はまったく同じ状況だとは思わないが、同じ理由が考えられる。その質問のコメントによると、悪質な資格情報のために、セキュリティで保護された接続をセットアップできないため、エラーはWCFの下に投げられます。彼らはあなたが変更することができるいくつかの設定があることを言及します。 –

関連する問題