1

次のように定義された単純なサービス契約があります。

[ServiceContact]
public interface IEcho
{
    [OperationContract]
    void Hello(string value);
}

net.pipe://これは、ローカル WCF サービス (アドレスを介してアクセス) に実装されます。

誰がサービスを呼び出しているかを知る必要があります。

IHello.Echo基本的に、セキュリティ上の理由から、署名されていないアセンブリからの呼び出しを拒否する必要があります。Hello信頼されていない呼び出し元がメソッドを使用できないようにする必要があります。

ぼんやりと覚えているのですが、古い .NET 1 リモート処理の時代には、スタックを調べて発信者の身元を確認できました。しかし、WCFでこれを行うにはどうすればよいですか?

4

3 に答える 3

1

呼び出し元アセンブリを認証できません。サービスの呼び出し元は、アクセスできない別のプロセスに存在します。

代わりに、WCF でクライアント認証を提供するソリューションを使用する必要があります。名前付きパイプを使用しているため、(トランスポート レベルではなく) メッセージ レベルの認証を検討する必要があります。

于 2013-05-23T12:46:33.147 に答える