方法 : セキュリティ コンテキストを調べる

Windows Communication Foundation (WCF) サービスのプログラミングを行う場合、サービス セキュリティ コンテキストを使用すると、サービスの認証で使用されるクライアントの資格情報とクレームの詳細を確認できます。これは、ServiceSecurityContext クラスのプロパティを使用することで可能になります。

たとえば、PrimaryIdentity プロパティまたは WindowsIdentity プロパティを使用すると、現在のクライアントの ID を取得できます。クライアントが匿名であるかどうかを確認するには、IsAnonymous プロパティを使用します。

また、AuthorizationContext プロパティにあるクレームのコレクションを反復処理することによって、クライアントのためにどのようなクレームが作成されているのかを確認することもできます。

現在のセキュリティ コンテキストを取得するには

  • 現在のセキュリティ コンテキストを取得するためには、静的プロパティ Current にアクセスします。参照から現在のコンテキストの任意のプロパティを調べます。

呼び出し元の ID を確認するには

  1. PrimaryIdentity プロパティおよび WindowsIdentity プロパティの値を表示します。

呼び出し元のクレームを解析するには

  1. 現在の AuthorizationContext クラスを返します。Current プロパティを使用して、現在のサービス セキュリティ コンテキストを返し、次に AuthorizationContext プロパティを使用して AuthorizationContext を返します。

  2. AuthorizationContext クラスの ClaimSets プロパティによって返された ClaimSet オブジェクトのコレクションを解析します。

次の例では、現在のセキュリティ コンテキストの WindowsIdentity プロパティおよび PrimaryIdentity プロパティの値、ClaimType プロパティの値、クレームのリソース値、および現在のセキュリティ コンテキストのすべてのクレームの Right プロパティを表示します。

コードのコンパイル

コードでは、次の名前空間を使用します。

関連項目

概念

サービスのセキュリティ保護
サービス ID と認証