問題タブ [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.

0 投票する
3 に答える
52438 参照

wcf - WCF を使用して基本認証で Web サービスを呼び出すことができません

Java で記述された Web サービスを提供されましたが、これを変更することはできません。いずれかの方法にアクセスするには、ユーザーが基本認証で認証される必要があります。.NET でこのサービスを操作するには、WSE 3.0 がインストールされた Visual Studio 2005 を使用することをお勧めします。

プロジェクトは既に Visual Studio 2008 (.NET 2.0 をターゲット) を使用しているため、これは問題です。私はVS2005でそれを行うことができましたが、プロジェクトをVS2005に結び付けたり、VS2005でアセンブリを作成してVS2008ソリューションに含めたりしたくありません(基本的に、アセンブリへの将来の変更のためにプロジェクトを2005に結び付けます) )。これらのオプションのいずれかを使用すると、新しい開発者に WSE 3.0 のインストールを強制し、プロジェクトで 2008 と .NET 3.5 の機能を将来使用できなくなるため、事態が複雑になると思います... つまり、WCF の使用を本当に信じています。行く方法です。

これにWCFを使用することを検討していますが、WCFサービスが各リクエストとともに認証ヘッダーを送信する必要があることを理解する方法がわかりません。Web サービスで何かしようとすると、401 エラーが発生します。

これは私のコードがどのように見えるかです:

これが実行され、次の例外がスローされます。

HTTP 要求は、クライアント認証スキーム「匿名」では許可されていません。サーバーから受信した認証ヘッダーは「Basic realm=realm」でした。

そして、これには次の内部例外があります。

リモート サーバーがエラーを返しました: (401) 権限がありません。

この問題を引き起こしている可能性のあるものについてのご意見をお待ちしております。

0 投票する
2 に答える
1575 参照

wcf - Identities プロパティがカスタム IAuthorisationPolicy に渡されないのはなぜですか?

独自の IPrincipal 実装をインストールするために ServiceAuthorizationBehaviour に指定できるカスタム IAuthorisationPolicy を設定しようとしています。ここの指示に従い、NetNamedPipes バインディングを使用して自己ホストするときにこれが機能することを確認するテストを作成しました。

問題は、IIS でホストされているこれを使用しようとすると、Identities プロパティが IAuthorisationPolicy に渡される EvaluationContext に設定されていないことです (セルフホスティングの場合)。

以下は、私の構成ファイルからの抜粋です。

(コードを使用して ServiceAuthorisationBehavior を構成していることに注意してください。そのため、ここには表示されません)

Identities プロパティが渡されない理由がわかりませんか?

私の IAuthorisationPolicy は次のようになります。

0 投票する
1 に答える
267 参照

.net - WCF セキュリティ - データ発信元のセキュリティ

WCF で実装された Web サービスがあります。このサービスは、単一のクライアント (静的 IP アドレスを持つサイト) によってのみ呼び出されます。サービスへのすべての呼び出しが、この特定の静的 IP からのものである場合にのみ有効であることを確認する単純なセキュリティを実装したいと考えています。

これを行う最善の方法は何ですか?

0 投票する
1 に答える
1327 参照

wcf - メッセージ セキュリティ使用時の WS-Security オーバーヘッド

以下は、Microsoft Service Trace Viewer に記録されたメッセージです。これは、WCF サービス (WsHttpBinding を使用) で整数の戻り値を持つパラメーターなしのメソッドへの単一の呼び出しを表していると思います。メッセージレベルのセキュリティ (ユーザー名の資格情報を使用) を使用しており、これを機能させるために開発サーバー証明書を作成しました。ヘッダーのオーバーヘッドの量に困惑しています。誰もこれを見たことがありますか?正しいものを見ているかどうかさえわかりません。すべての呼び出しでこれを使用することを計画しており、同じサービスでの後続のメソッド呼び出しでオーバーヘッドが削減されることを望んでいましたが、そうではないようです。

ユーザーを認証し、その後のリクエストを認証するために渡される GUID を返し、GUID ごとの有効期限ポリシーなどを返す代わりに、SSL 経由で単一のLogin()メソッドを作成したいと思います。直感的には、これは悪い考えかもしれませんが、私はセキュリティですダミーなのでわかりません。

アドバイスをいただければ幸いです。

0 投票する
1 に答える
3520 参照

wcf-security - 既存の nettcpbinding から WCF でカスタム バインディングを作成する

次の WCF とまったく同じ動作を再現するカスタム バインディングを作成する方法を誰か教えてもらえますか?

私が見つけたすべてのグーグルソリューションは、何らかの理由で機能していないようです。httpTransport に関する解決策はたくさん見つかりましたが、nettcptransport に関する解決策はほとんどありません。

上記の構成は現在機能していますが、maxClockSkew を変更する必要があり、これを達成する唯一の方法はカスタム バインディングを使用することです。

前もって感謝します、ブライアン

0 投票する
1 に答える
1348 参照

wcf - WCF すべてのサービス呼び出しで追加のセキュリティ データを渡す

クライアント側では、私が行うすべてのサービス呼び出しに情報 (この例では文字列としましょう) を渡す必要があります。サービスは、この文字列 (currentRole) をユーザー/パス資格情報と共に使用して、現在のロールに関連付けられたユーザーの一連の要求を取得します。

これまでに出くわした解決策は次のとおりです。

1) クライアントから送信されるメッセージ ヘッダーを変更し、メッセージ ヘッダーがサービス側にあることを確認します。

2)私が理解していることから、文字列を保存するためにカスタムセキュリティトークンも必要とするカスタム資格情報を使用します。

その情報を既存のトークン/資格情報に追加するなど、私が見逃している他のアプローチはありますか? また、上記のソリューションの長所/短所はありますか?

ありがとう。

0 投票する
3 に答える
4747 参照

c# - プログラムによる証明書失効リスト C# のインストール

C#/WCF を使用しています。クライアントによって呼び出される Web サービスがあります。これはサービス定義です:

そして、これはバインディングです:

これを正しく理解していれば、サーバーからクライアントに送信されるメッセージは証明書で暗号化されています。現在、私はまだ開発者証明書を扱っています。サーバー上にルート証明書、証明書失効リスト、およびキーを作成しました。

Windows インストーラーを使用してクライアントをインストールしており、証明書をインストールするためのカスタム インストール アクションがあります。

次のコードは、証明書がストアに追加される方法を示しています。

証明書のインストールは機能しますが、Web サービスを呼び出すとSecurityNegotiationException. 証明書失効リストを手動で追加すると、サーバーとの通信が機能します。プログラムで実行しようとすると (上記のコードを参照)、機能しません。「要求されたオブジェクトが見つかりませんでした」という例外が発生します。

いろいろな店を利用しようとしましたが、うまくいきませんでした。

2 つの質問があります。a) なぜクライアントで CRL が必要なのですか? b) 必要な場合、どのようにプログラムでインストールできますか? 上記の私の間違いはどこですか?

助けてくれてありがとう、ケイ

0 投票する
4 に答える
18489 参照

wcf - WCF - メッセージを受け入れることができる net.tcp://..../Querier.svc でリッスンしているエンドポイントがありませんでした

WCF - メッセージを受け入れることができる net.tcp://myserver:9000/SearchQueryService/Queries.svc でリッスンしているエンドポイントがありませんでした。

IIS アプリケーションで net.tcp プロトコルを有効にしています

Windows ファイアウォールがオフになっている

net.tcp バインディングは、IIS アプリケーション全体でポート 9000 に設定されています。

私のweb.configは非常に標準的です:

そして、このセットアップはあるサーバーでは機能しますが、他のサーバーでは機能しません...何が問題なのですか?

動作しているサーバーと動作していないサーバーの両方で IIS7 が実行されています。唯一の違いは、動作するボックスが Vista64 Sp2 であり、動作しないボックスが W2k864 であることです。

0 投票する
2 に答える
372 参照

silverlight - Silverlight 対応のデータ サービスへのアクセスを制限する方法

Silverlight 対応のデータ サービスを呼び出す、作成した Silverlight アプリがあります。Silverlight アプリは、認証されていないパブリックにデータを提示する必要があるため、ログインを要求できません。

時間をかけて Silverlight アプリを調査し、それが呼び出しているサービスを何らかの形で把握し、独自のクライアントを作成してデータを丸呑みし、自分のサイトに投稿してそのふりをすることができるシュモーがいます。彼の。これを防ぐ必要があります。

Silverlight アプリからの要求のみを受け入れるようにデータ サービスを制限するにはどうすればよいですか? clientaccesspolicy.xml ファイルのallow-from domain uri設定を使用して、Silverlight アプリが存在するドメイン (mydomain.com など) からのみサービスへのアクセスを制限しようとしました。これはまったく何もしませんでしたが、サービスはまだドメイン外からのクライアントへのリクエストを処理しています. (SL アプリを別のドメインに配置して、これをテストしました)。

アプリだけが使用できるようにデータ サービスを制限するための適切/最善/最も効果的な方法は何ですか? ありがとう!!!

SL 3 と .NET 3.5 を使用しています。

0 投票する
1 に答える
262 参照

wcf - WCF カスタム UserNameValidator - チャネル モードのいつ、どこに追加されますか?

UserNamePassword の検証が完了する前に、サービスの EndPoint にアクセスする必要があります。カスタムの usernamepasswordvalidator を使用しています。この認証の前に、エンドポイントにアクセスする必要があります。messageinspector、iservicehbevaior などを実装してみましたが、いずれも UserNamePassword の検証後にのみヒットするようです。UserNamePassword 検証の前に EndPoint へのアクセスを可能にする拡張ポイントはありますか?