問題タブ [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.
c# - WCF構成
サーバー側でbasicHttpBindingを使用してWCFサービスをホストしました。
匿名アクセスが有効になっているWindowsxpsp3、IIS5.1でホストされているWCFサービス。
.net2.0デスクトップアプリケーションでWCFサービスにアクセスしたい場合。
サンプルコードを使用して、どのような構成を行う必要がありますか?
ありがとう
nrk
c# - WCF セキュリティ モデルの実装
私は Web サービスを持っています。そのためのセキュリティ モデルを実装したいと考えています。サービスとクライアントでのセキュリティの実装について説明しているチュートリアルを教えてください。私は OAUTH を試しましたが、サービスに関する実装の詳細はあまりありません。難しいクライアントの実装の詳細は、いくつかのブログに記載されています。セキュリティの実装について学ぶことができる相対的なものをいくつか教えてください。私は自分の WCF サービスで WebHttpBinding を使用しており、C# で記述されています。
wcf - WCFクライアントをハッキングしてSSLなしでメッセージクレデンシャルを渡すことは可能ですか?
しばらく前にカスタムWCFバインディングを作成して、負荷分散されたファームがIIS経由でサービスをホストできるようにしました。カスタムバインディングの理由は、各サーバーにSSLがないが、ユーザー名+パスワードのクライアントクレデンシャルを受け入れる機能が必要だったためです。このファームの前のプロキシにはSSLがあるため、トラフィックはファイアウォールの外側で暗号化されます。このカスタムバインディングは正常に機能しますが、現在、マシンからのトラフィックをローカルで監視する必要があり、SSLを使用せずにこれを実行したいと考えています。
問題はこれです-セキュリティモードを「TransportWithMessageCredential」に設定した場合、.netクライアントでSSLが必要です。そうでない場合は、「無効なスキーム、予期されるhttps」という楽しいエラーが発生します。
クライアントがSSLが欠落していることを「無視」するカスタムを作成しても、SOAPヘッダーを介してユーザー名とパスワードを渡せるようにすることは可能ですか?
wcf-security - インターネット上の WCF 認証
basicHTTP バインディングを使用する WCF サービスがあります。このサービスは、IIS 7.0 を実行している Windows Server 2008 64 ビット上の DMZ 環境で運用され、Active Directory ドメインには配置されません。
このサービスは、ビジネス パートナーが SSL で保護されたインターネット経由でアクセスします。当初、wsHTTPBinding で x.509 メッセージ認証を使用するサービスを構築していましたが、多くの問題を経てパントし、バックアップして、UserName 認証で basicHTTP を使用することにしました。
結果: 証明書モードで受け取ったものとまったく同じ、あいまいなエラー メッセージ。
サービスはまったく同じ認証を使用してドメイン内で完全に機能しますが、DMZ に移動するとすぐに次のエラーが表示されます。そして詳細」。
内部例外メッセージは、「メッセージのセキュリティを検証中にエラーが発生しました」です。
バインディング構成を含むサービスの Web 構成は次のとおりです。
エラーが発生するテスト クライアントの構成:
前述のように、サービスはドメイン上で完全に機能し、運用 IIS ボックスはドメイン上にありません。私は今、2週間髪を微調整して引っ張っていますが、何もうまくいかないようです. 誰かが助けてくれれば幸いです。認証の回避策の推奨事項でもあります。カスタム認証スキームを使用するのではなく、組み込みの SOAP 機能を使用したいと考えています。
資格情報はプロキシ経由で渡されます。つまり、proxy.ClientCredentials.UserName.UserName と proxy.ClientCredentials.UserName.Password は、テスト環境の内部ドメインと DMZ IIS ボックスのマシン アカウントの両方で有効なアカウントです。
c# - Java クライアントを使用した WCF でのセッション処理
サービスを使用しているクライアントが WCF クライアントではなく Java クライアントである場合、WCF サービスでセッション処理を実装する最良の方法は何ですか? 統合されたサービス モデルを使用することは可能ですか?
ありがとうございました!
ドミニク
wcf-security - WCF で DisplayInitializationUI を正しく使用して、別のドメインで Web サービスを認証して使用するための資格情報をユーザーに要求するにはどうすればよいですか?
一連の WCF Web サービスに接続する WPF クライアントがあります。Dev、Test、Volume、Production ドメインがあり、各ドメインのサーバーでサービスを利用できます。ドメインには信頼関係がありません。
目標は、クライアントが他のドメインのサービスに接続できるようにすることです。クライアントとサーバーが同じドメインにある場合は、認証/承認のためにデフォルトのネットワーク資格情報を送信する必要があります。サーバーが別のドメインにある場合、統合セキュリティが設定された別のドメインのサイトにアクセスしたときに Internet Explorer が行うのとほぼ同じ方法で、ユーザーに資格情報を要求する必要があります。
現時点では、サービスの ClientBase のインスタンスを作成するときに DisplayInitializationUI() を設定して、クライアントの資格情報を取得しようとしています。
ClientCredentialsEx クラス。
ShowCredentialUI クラスは、IInteractiveChannelInitializer を実装します。クラスのビジネス エンドは、BeginDisplayInitializationUI メソッドです。
問題は、iis ログを調査すると、資格情報が送信されないことです。私は何か決定的なものを見逃しているのではないかと疑っています。同様のシナリオを正常に実装した人はいますか? これを達成する簡単な方法はありますか?
読んでくれてありがとう!
wcf - WebHttpBinding セキュリティの質問
RESTful サービスを作成し、認証を実装しました。ユーザー名とパスワードを受け入れ、要求されたサービスへのアクセスを許可します。それは正常に動作します。ここで、サービスの上で SSL を使用したいと考えています。このために、証明書を作成し、IIS で必要な設定を行いました。しかし、私のサービスは機能していません。私は webHttpBinding を使用しています。
サービス側の私の Web.Config は次のとおりです。
そして、クライアント側のapp.configには
クライアントを実行しようとすると、提供された URI スキーム Https が無効です、http が必要と表示されます。
また、VS2008 から Web サービスを呼び出そうとすると、「WebHttpBinding をバインドするエンドポイントのスキーム https に一致するベース アドレスが見つかりませんでした。登録されているベース アドレス スキームは [http] です。」と表示されます。
IIS から Web サービスを実行しようとすると、「バインディング WebHttpBinding を持つエンドポイントのスキーム http に一致するベース アドレスが見つかりませんでした。登録されたベース アドレス スキームは [https] です。」と表示されます。
私はグーグルを試し、提案されたすべてのことを試しましたが、うまくいきませんでした。助けてください。
前もって感謝します, タラ・シン
wcf - WCF でプログラムによってセキュリティをオフにする方法
過去 2 日間、WCF を使用して作業を行ってきましたが、開発マシンのサーバーとクライアントの両方で非常にうまく機能していました。ネットワーク上の別のマシンでクライアントを使用して分散テストを実行しようとしているので、問題が発生し始めました。現在、私が得ているエラーは次のとおりです。
アクション ' http://tempuri.org/IWindowUpdateContract/UpdateWindowFrames 'を含むメッセージは、EndpointDispatcher での ContractFilter の不一致により、受信側で処理できません。これは、コントラクトの不一致 (送信者と受信者の間のアクションの不一致) または送信者と受信者の間のバインディング/セキュリティの不一致が原因である可能性があります。送信者と受信者が同じコントラクトと同じバインド (メッセージ、トランスポート、なしなどのセキュリティ要件を含む) を持っていることを確認します。
これはすでに大規模な学習経験であるため (これまでにリモート処理や RPC などを行ったことはありません)、学習ツールの開発を継続し、終了したらセキュリティを再検討したいと考えています (実際に機能するものを構築するつもりはありません)。適切なセキュリティのベスト プラクティスなしで慣れる)。
ノート:
- WCF 用の構成ファイルのセットアップがありません。プログラムですべてを行っています。
- 私のネットワークはドメインの一部ではないため、デフォルトのセキュリティ設定が機能しませんでした (net.tcp を使用)。
- 「.Net 3.5」を使用しています。
私のサーバーは次のように作成されます:
そして、私のクライアントは次のように作成されます:
そして、私の契約(クライアントとサーバーの両方への参照として追加されるクラスライブラリにあるだけです)は次のとおりです。
私が行ったバインディングとコントラクトのセットアップはそれらを同一にするはずであり、この問題は発生しないはずです(そしてセキュリティをオフにする必要があります)。今どこに行けばいいのかわからない。
wcf - WCF と Castle-Windsor で IAuthorizationPolicy を使用する際の問題
現在、Castle-Windsor を WCF 機能と共に使用して、すべての WCF サービスを注入しています。custom を使用してアクセス許可要件の追加を開始したところですIAuthorizationPolicy
。これは、サービスのメソッドごとに実行すると機能するようですが、サービス クラス自体が要件でマークアップされると、例外がスローされます。
How To – Use Username Authentication with Transport Security in WCF from Windows Formsの例に基づいて設定しました。Membership
既存の実装を使用しているため、カスタム HTTP モジュール クラスは設定しませんでした。私のIAuthorizationPolicy
実装 ( HttpContextPrincipalPolicy
) は本質的に同じです。
私の本質的な部分Web.config
は次のとおりです。
メソッドに要件を設定すると、すべてがうまくいくようです。これは次のように行われています。
これがOperationContract
メソッド上にある場合、物事は期待どおりに機能します。ただし、クラス自体 ( を実装するServiceContract
) に移動すると、次の例外が発生します (余分なもののほとんどが取り除かれます)。
デバッグしたところ、コンストラクターHttpContextPrincipalPolicy
が呼び出されていることがわかりましたEvaluate()
が、要求がクラスにアタッチされているときではありません。Evaluate()
メソッドが呼び出されているときにアタッチされます。したがって、この時点で、初心者の .NET/WCF/Castle-Windsor スキルが私を連れて行ってくれるところまで行きました。
を尊重しながらCastle-Windsorにサービスコンストラクターを呼び出すように指示する方法はありIAuthorizationPolicy
ますか? Evaluate()
または、クラスの作成のために呼び出す必要があることをWCF に伝えますか? または、同じことを行う WCF の他の方法はありますか? すべてのメソッドをまったく同じ属性宣言でマークアップする必要はありません。