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 応答に書き込みます。 現在のユーザーが as ClaimsPrincipal a からHttpContext読み取られ、要求がそこから読み取られます。 その後、要求がオブジェクトに 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 定義されている既知の要求の種類の 1 つでも、発行者によって定義された任意の URI でもかまいません。 たとえば、"urn:spendinglimit" の要求の種類は、発行者のビジネス コンテキスト内で意味のあるユーザー属性を表す場合があります。

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

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

  • この Subject プロパティは、 ClaimsIdentity 要求のサブジェクトを表すオブジェクトです。 要求のサブジェクトは、要求がアサートされるエンティティ (通常、リソースへのアクセスを要求しているユーザー) です。 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 をライターに書き込みます。

適用対象

こちらもご覧ください