Claim クラス

定義

クレームを表します。

public ref class Claim
public class Claim
[System.Serializable]
public class Claim
type Claim = class
[<System.Serializable>]
type Claim = class
Public Class Claim
継承
Claim
属性

次の例では、HTTP 要求を実行する認証されたユーザーに関連付けられている要求を抽出し、HTTP 応答に書き込みます。 現在のユーザーは から HttpContext として ClaimsPrincipal 読み取られ、要求はそこから読み取られます。 その後、要求が オブジェクトに HttpResponse 書き込まれます。

ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;  
if (null != principal)  
{  
   foreach (Claim claim in principal.Claims)  
   {  
      Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");  
   }  

}  

注釈

要求は、発行者によるサブジェクトに関するステートメントです。 要求は、認証と承認操作のコンテキストで役立つサブジェクトの属性を表します。 サブジェクトと発行者は、どちらも ID シナリオの一部であるエンティティです。 サブジェクトの一般的な例としては、ユーザー、アプリケーションまたはサービス、デバイス、またはコンピューターがあります。 発行者の一般的な例としては、オペレーティング システム、アプリケーション、サービス、ロール プロバイダー、ID プロバイダー、またはフェデレーション プロバイダーがあります。 発行者は、セキュリティ トークン (通常はセキュリティ トークン サービス (STS) を通じて) を発行してクレームを配信します。 (WIF では、 クラスから派生することで STS を SecurityTokenService ビルドできます)。場合によっては、発行者から受信した要求のコレクションを、リソースに直接格納されているサブジェクト属性によって拡張できます。 要求を評価して、承認プロセス中にデータやその他のセキュリティで保護されたリソースへのアクセス権を決定できます。また、サブジェクトに関する認証の決定を行ったり、表現したりするために使用することもできます。

.NET 4.5 以降では、要求ベースの ID を実装する Windows Identity Foundation (WIF) クラスが、.NET Frameworkに完全に統合されています。 要求の概念は、 クラスによって Claim 実装されます。

クラスの重要なプロパティを次に Claim 示します。

  • プロパティは Type 、要求に関するセマンティック情報を含む文字列 (通常は URI) です。要求の値が何を意味するかがわかります。 たとえば、要求の種類が ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") のGivenName要求は、ユーザーの名を表します。 プロパティの Type 値には、 クラスで ClaimTypes 定義されている既知の要求の種類のいずれか、または発行者によって定義された任意の URI を指定できます。 たとえば、"urn:spendinglimit" のクレームの種類は、発行者のビジネス コンテキスト内で意味のあるユーザー属性を表している可能性があります。

  • プロパティには Value 、要求の値が含まれています。 依存関係を減らし、管理を簡略化するために、WIF では要求の値は文字列としてのみ表されます。 より複雑な値型の場合は、標準の XML スキーマ型を使用して、値を文字列にシリアル化し、文字列から逆シリアル化する方法を示することをお勧めします。

  • プロパティには ValueType 、値の型情報を識別する文字列が含まれています。 このプロパティは、値の形式を理解し、逆シリアル化する方法に関する情報を提供するために使用する必要があります。 ソリューションで複合値型が必要な場合は、 プロパティで標準の XML スキーマ型を ValueType 使用して、プロパティを文字列にシリアル化および逆シリアル化する方法 Value を示することをお勧めします。

  • プロパティは SubjectClaimsIdentity 要求の件名を表す オブジェクトです。 要求のサブジェクトは、要求がアサートされるエンティティ (通常はリソースへのアクセスを要求しているユーザー) です。 には ClaimsIdentity 、そのプロパティの中に、1 つ以上の発行者によって証明されたサブジェクトのプロパティと属性を記述するクレームのコレクションが含まれます。

  • Issuerプロパティには、要求を発行したエンティティの名前が含まれます。 要求の発行者は、発行者名レジストリによって管理されている既知の発行者の一覧から取得された名前を含む文字列によって WIF で表されます。 発行者名レジストリは、 クラスから IssuerNameRegistry 派生したクラスのインスタンスです。 発行者名レジストリは、対応する発行者によって生成されたトークンの署名を検証するために必要な暗号化資料にニーモニック名を関連付けます。 たとえば、 ConfigurationBasedIssuerNameRegistry .NET 4.5 ですぐに使用できる クラスは、各発行者のニーモニック名を対応する X.509 証明書に関連付けます。 既知の発行者の一覧は、通常、起動時に発行者名レジストリによって構築されます。 によって使用される ConfigurationBasedIssuerNameRegistry リストは、アプリケーション構成ファイルで指定されます。

  • プロパティには OriginalIssuer 、最初に要求を発行したエンティティの名前が含まれています。 このプロパティは、クレームが RP アプリケーションにクライアントによって提示される前に複数の発行者を通過する可能性があるシナリオを容易にするように設計されています。フェデレーション シナリオなど。 プロパティを OriginalIssuer 調べて、最初に要求を発行したエンティティを特定できます。 この名前は、 プロパティの場合と同様に、発行者名レジストリによって管理されている既知の発行者の Issuer 一覧から取得されます。

コンストラクター

Claim(BinaryReader)

BinaryReader を指定して、Claim のインスタンスを初期化します。

Claim(BinaryReader, ClaimsIdentity)

指定したリーダーとサブジェクトで、Claim クラスの新しいインスタンスを初期化します。

Claim(Claim)

Claim クラスの新しいインスタンスを初期化します。

Claim(Claim, ClaimsIdentity)

指定されたセキュリティ要求、および件名により、Claim クラスの新しいインスタンスを初期化します。

Claim(String, String)

指定した要求の種類および値を使用して、Claim クラスの新しいインスタンスを初期化します。

Claim(String, String, String)

指定した要求の種類、値、および値の型を使用して、Claim クラスの新しいインスタンスを初期化します。

Claim(String, String, String, String)

指定した要求の種類、値、値の型、および発行者を使用して、Claim クラスの新しいインスタンスを初期化します。

Claim(String, String, String, String, String)

指定した要求の種類、値、値の種類、発行者、および元の Claim 発行者を使用して、 クラスの新しいインスタンスを初期化します。

Claim(String, String, String, String, String, ClaimsIdentity)

指定された要求の種類、値、値の型、発行者、発行元、および件名を持つ Claim クラスの新しいインスタンスを初期化します。

プロパティ

CustomSerializationData

派生型によって提供される追加データが含まれています。

Issuer

要求の発行元を取得します。

OriginalIssuer

要求の発行元を取得します。

Properties

この要求に関連付けられている追加のプロパティを格納するディクショナリを取得します。

Subject

クレームの件名を取得します。

Type

要求の種類を取得します。

Value

要求の値を取得します。

ValueType

要求の値の型を取得します。

メソッド

Clone()

このオブジェクトからコピーされた新しい Claim オブジェクトを返します。 新しい要求に件名がありません。

Clone(ClaimsIdentity)

このオブジェクトからコピーされた新しい Claim オブジェクトを返します。 新しい要求のサブジェクトは、指定した ClaimsIdentity に設定されます。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

この Claim オブジェクトの文字列表現を返します。

WriteTo(BinaryWriter)

この Claim をライターに書き込みます。

WriteTo(BinaryWriter, Byte[])

この Claim をライターに書き込みます。

適用対象

こちらもご覧ください