問題タブ [wcf-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - WCF サービス ホスティング用に機能する X509Certificate を取得する方法
asp.net ホスティング アカウントで WCF サービスをホストしている最中で、通信の認証に X509Certificate を使用したいと考えています。この場合、どこで証明書を取得できますか? 1 つ作成してから、自分のアカウントに FTP で送信しますか? はいの場合、この証明書を参照して使用する方法を教えてください。いいえの場合、どうすれば使用できるようになりますか? 何かを購入する必要がありますか?
ローカル マシンに作成してインストールすることはできますが、FTP アクセスだけでリモート アクセスできない場所にあるホスティング マシンでそれを行うにはどうすればよいかを尋ねられました。
wcf - WCF UserName 認証とフォルト コントラクト
System.IdentityModel.Selectors.UserNamePasswordValidator クラスのオーバーライドされた Validate() メソッドを介してカスタム UserName 検証を使用するように構成された WCF サービスがあります。
コントラクトのすべてのメソッドは、FaultContractAttribute で装飾されており、カスタム SOAP エラーが返されるように指定されています。
FaultException<T> (T は FaultContractAttribute で指定された型) をスローすると、すべてが期待どおりに動作し、応答 XML でカスタム エラーを取得します。
ただし、ユーザー名認証クラスのオーバーライドされた Validate() メソッドで FaultException<T> をスローしようとすると、次の理由で一般的な SOAP エラーが発生します。
「この障害の作成者は理由を特定しませんでした。」
ただし、次のように一般的な SOAP エラーをスローするようにコードを変更すると、次のようになります。
throw new FaultException("Authentication failed.");
少なくとも「認証に失敗しました」と表示されます。reason 要素で。
私の質問は次のとおりです。
- Validate() でスローされた場合、FaultException<T> 例外がサービス実装内にあるため、同じように扱われないのはなぜですか?
- Validate() メソッドでスローされた例外を、コントラクト メソッドで指定された FaultContractAttribute に準拠させることは可能ですか?
どんな助けでも大歓迎です。私自身の推測では、メッセージがコントラクトのメソッドに関連付けられる前に認証が行われるため、FaultContractAttribute には関連付けられませんが、これを確認して回避策を提供する記事は非常に役立ちます。
タリ
wcf-security - WCF にクロスドメイン通信をさせようとしている
.NET Web アプリケーションが DMZ のサーバー A でサービス A を呼び出すようなクロスドメイン環境で、2 つの WCF サービスを相互に通信させようとしています。次に、サービス A は、安全なドメインにあるサーバー B で SSL を介してサービス B を呼び出します。
現在、サービス B を正常に稼働させることができます。ドメイン内から SSL 経由でサービス B を問題なく呼び出すことができます。ただし、サービス A または単に .NET Web アプリから呼び出しを行おうとすると、エラーが発生します。
発生するエラーは、使用するエンドポイントとバインディング構成によって異なります。これまでのところ、wsHttpBinding または BasicHttpBinding のいずれかを使用してきましたが、どちらもうまくいきません。
エンドポイントとバインディングがどのように見えるべきかについての提案や例はありますか?
ありがとう
ドミニク
.net - netTcp WCF バインディングのデバッグ
netTcp WCF
リモート マシンの Windows サービスでサービスを実行しています。Windows サービスはユーザーとして実行されていますmydomain\u2
.config
Windows サービスでホストされる WCFのファイルは次のとおりです。
今私が走るとき
svcutil.exe http://wcfhostmachine:8000/MyWCFService?wsdl
クライアントoutput.config
には、次のセキュリティ部分があります。
それらは違う。どうして??サーバーに合わせてクライアントを変更する必要がありますか??
サービスに命令を送信しWCF
て処理することはできますが、Visual Studio がリモート ホストで実行されているコードにステップ インしようとすると、次のようなWCF
悪名高いメッセージが表示されます。
'....' を自動的にデバッグできません。サーバー マシンへの接続に失敗しました。ターゲット コンピューター上の Visual Studio リモート デバッガーは、このコンピューターに接続できません。DNS
がターゲット コンピュータで正しく構成されていることを確認します。
いいのは言うまでもありませんDNS
。
この状況に陥った理由として考えられる他の唯一の理由は、Visual Studio が として実行さmydomain\u1
れており、リモート マシンでサービスが として実行されているためmydomain\u2
です。
過去にこの問題に直面した/解決した人はいますか?
より詳しい情報
以下は、ホスト サービスの App.config です。mex エンドポイントがないために、この問題が発生する可能性はありますか?
wcf - WCFサービスでの認証
別のマシンにWCFサービスを展開していて、WCFサービスに対してクライアントを認証したいと考えています。
私は次のことをしました:
1)IISで、匿名アクセスのチェックを外し、[統合されたWindows認証]チェックボックスをオンにしました。
2)私のWeb構成
3)クライアント側では、次のようにユーザー資格情報を渡します。
私の質問は、サーバー側(サービスが展開されている場所)でユーザー名とパスワードをトラップするにはどうすればよいですか?
渡されたクレデンシャルに対してユーザーを認証するにはどうすればよいですか?
現在、basichttpバインディングを使用しています..このバインディングはセキュリティモデルをサポートするのに十分ですか?
wcf - このシナリオに最適な認証手法は何ですか?
以下のシナリオで実装する最適な認証方法を教えてください。
要件は、世界中の複数の国に WCF Web サービスを展開する必要があることです。
注 :サービスが展開されるすべてのマシンは、同じドメインにあります。
1.このサービスにアクセスするクライアントは、同じドメインに属している必要があります。そうでない場合、認証は失敗します。
現在、「Windows」を使用してメッセージ セキュリティ モードを使用しています。
wcf - このサービスのセキュリティ設定には「匿名」認証が必要ですが、このサービスをホストするIISアプリケーションでは有効になっていません
IISV5.1を使用しています。統合Windows認証
私は次のWeb設定を持っています:
ブラウザでsvcファイルを表示することを選択すると、次のエラーが表示されます。
例外:
このサービスのセキュリティ設定には「匿名」認証が必要ですが、このサービスをホストするIISアプリケーションでは有効になっていません。
このエラーは、Mexエンドポイントを削除すると削除されます。
しかし、クライアントアプリケーションにサービス参照を追加しようとすると、次のエラーが発生します。
URL http://localhost/DXDirectory/DXDirectoryService.svcのドキュメントが既知のドキュメントタイプとして認識されませんでした。
既知の各タイプからのエラーメッセージは、問題の修正に役立つ場合があります。
- ' http://localhost/DXDirectory/DXDirectoryService.svc 'からのレポートは'ドキュメント形式は認識されません(コンテンツタイプは' text / html; charset = UTF-8')'です。
- 「DISCOドキュメント」からのレポートは「ダウンロード中にエラーが発生しました」https://hes-ashu.abc.com/DXDirectory/DXDirectoryService.svc?disco「。」です。
- 基になる接続が閉じられました:送信時に予期しないエラーが発生しました。
- リモートパーティがトランスポートストリームを閉じたため、認証に失敗しました。
- 「WSDLドキュメント」からのレポートは「ドキュメント形式が認識されません(コンテンツタイプは「text / html; charset = UTF-8」)です)。
- 'XMLスキーマ'からのレポートは'ドキュメント形式は認識されません(コンテンツタイプは' text / html; charset = UTF-8')'です。メタデータに解決できない参照が含まれています:' http://localhost/DXDirectory/DXDirectoryService.svc '。
HTTPリクエストは、クライアント認証スキーム「匿名」では許可されていません。サーバーから受信した認証ヘッダーは「Negotiate、NTLM」でした。
リモートサーバーがエラーを返しました:(401)許可されていません。
サービスが現在のソリューションで定義されている場合は、ソリューションを構築して、サービス参照を再度追加してみてください。
wcf - SSL を要求するように仮想ディレクトリを構成する方法
IIS V5.1 を使用しています。セキュリティ モード = トランスポートを使用している wcf サービス アプリケーションがあります。そしてwshttpbinding。
SSL を要求するように仮想ディレクトリを構成するにはどうすればよいですか?
wcf - WCF操作からのClientCredentialsの取得
Webサービスで操作を呼び出す各クライアントがデータベースに対応するユーザー名とパスワードを持っていることを確認したいので、WCFサービスはカスタムメッセージベースのセキュリティにカスタム資格情報検証ツールを使用します。
つまり、ユーザーが認証に合格したら、OperationContract実装でuserNameを使用して、コンテキストベースの呼び出しを行います。
呼び出し先の正直さを信頼して実際のuserNameを指定することはできないため、パスワードも渡さずに渡すことはできません。Webサービスへのすべての呼び出しでClientCredentialsを受け入れる必要がないようにしたかったのです。
ありがとう。