「何が問題なのか」は、のインスタンスではなく、ServiceSecurityContext.Current
戻ってくることです。null
ServiceSecurityContext
これが発生するシナリオの1つは、にMessageCredentialType
設定されたメッセージセキュリティを使用するようにバインディングが構成されている場合None
です。
ただし、次のようなすべてのシナリオをリストした包括的なドキュメントを私は知りませんServiceSecurityContext.Current
。null
セキュリティコンテキストはチャネルスタックで確立されるため、使用している特定のバインディング構成とセキュリティプロバイダーに依存します。また、メッセージのプロパティをいじるカスタムビヘイビアの影響を受ける可能性もあります。
そうは言っても、チャネルスタックにカスタムコードを挿入しない限り、これはバインディングがクライアント認証を必要としない場合にのみ発生するというのはおそらく安全な仮定です。まず最初に、クライアントを強化し、期待する種類のユーザー名を提供するバインディング構成を使用していることを確認する必要がありますIIdentity
。