Claim クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
要求を表します。
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) を介してセキュリティ トークンを発行して要求を配信します。 場合によっては、発行者から受信した要求のコレクションを、リソースに直接格納されているサブジェクト属性によって拡張できます。 要求を評価して、承認プロセス中にデータやその他のセキュリティで保護されたリソースへのアクセス権を決定できます。また、サブジェクトに関する認証の決定を行ったり、表現したりするために使用することもできます。
.NET Framework 4.5 以降、クレーム ベースの ID を実装する Windows Identity Foundation (WIF) クラスは、.NET Framework に完全に統合されています。 要求の概念は、 Claim クラスによって実装されます。
次に、 Claim クラスの重要なプロパティについて説明します。
Type プロパティは、要求に関するセマンティック情報を含む文字列 (通常は URI) です。要求の値の意味を示します。 たとえば、要求の種類が GivenName (
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname") の要求は、ユーザーの名を表します。 Type プロパティの値には、ClaimTypes クラスで定義されている既知の要求の種類の 1 つ、または発行者によって定義された任意の URI を指定できます。 たとえば、要求の種類 "urn:spendinglimit" は、発行者のビジネス コンテキスト内で意味のあるユーザー属性を表す場合があります。Value プロパティには、要求の値が含まれています。 依存関係を減らし、管理を簡略化するために、WIF では要求の値は文字列としてのみ表されます。 より複雑な値型の場合は、標準の XML スキーマ型を使用して、値を文字列にシリアル化して文字列から逆シリアル化する方法を指定することをお勧めします。
ValueType プロパティには、値の型情報を識別する文字列が含まれています。 このプロパティは、値の形式を理解し、逆シリアル化する方法に関する情報を提供するために使用する必要があります。 ソリューションで複雑な値型が必要な場合は、 ValueType プロパティで標準の XML スキーマ型を使用して、 Value プロパティを文字列にシリアル化し、文字列から逆シリアル化する方法を指定することをお勧めします。
Subject プロパティは、要求のサブジェクトを表すClaimsIdentity オブジェクトです。 要求のサブジェクトは、要求がアサートされるエンティティ (通常、リソースへのアクセスを要求しているユーザー) です。 ClaimsIdentityには、そのプロパティのうち、1 つ以上の発行者によって証明されたサブジェクトのプロパティと属性を記述するクレームのコレクションが含まれています。
Issuer プロパティには、要求を発行したエンティティの名前が含まれます。 要求の発行者は、発行者名レジストリによって管理される既知の発行者の一覧から取得された名前を含む文字列によって WIF で表されます。 発行者名レジストリは、 IssuerNameRegistry クラスから派生したクラスのインスタンスです。 発行者名レジストリは、ニーモニック名を、対応する発行者によって生成されたトークンの署名を検証するために必要な暗号化マテリアルに関連付けます。 たとえば、.NET 4.5 ですぐに使用できる ConfigurationBasedIssuerNameRegistry クラスは、各発行者のニーモニック名を対応する X.509 証明書に関連付けます。 よく知られている発行者の一覧は、通常、起動時に発行者名レジストリによって構築されます。 ConfigurationBasedIssuerNameRegistryで使用されるリストは、アプリケーション構成ファイルで指定されます。
OriginalIssuer プロパティには、最初に要求を発行したエンティティの名前が含まれています。 このプロパティは、要求がクライアントによって RP アプリケーションに提示される前に複数の発行者を通過する可能性があるシナリオを容易にするように設計されています。フェデレーション シナリオなど。 OriginalIssuer プロパティを調べて、最初に要求を発行したエンティティを特定できます。 この名前は、 Issuer プロパティの場合と同様に、発行者名レジストリによって管理されている既知の発行者の一覧から取得されます。
コンストラクター
| 名前 | 説明 |
|---|---|
| Claim(BinaryReader, ClaimsIdentity) |
指定したリーダーとサブジェクトを使用して、 Claim クラスの新しいインスタンスを初期化します。 |
| Claim(BinaryReader) |
指定したBinaryReaderを使用して、Claimのインスタンスを初期化します。 |
| Claim(Claim, ClaimsIdentity) |
指定したセキュリティ要求とサブジェクトを使用して、 Claim クラスの新しいインスタンスを初期化します。 |
| Claim(Claim) |
Claim クラスの新しいインスタンスを初期化します。 |
| Claim(String, String, String, String, String, ClaimsIdentity) |
指定した要求の種類、値、値の種類、発行者、元の発行者、サブジェクトを使用して、 Claim クラスの新しいインスタンスを初期化します。 |
| Claim(String, String, String, String, String) |
指定した要求の種類、値、値の種類、発行者、および元の発行者を使用して、 Claim クラスの新しいインスタンスを初期化します。 |
| Claim(String, String, String, String) |
指定した要求の種類、値、値の種類、および発行者を使用して、 Claim クラスの新しいインスタンスを初期化します。 |
| Claim(String, String, String) |
指定した要求の種類、値、および値の型を使用して、 Claim クラスの新しいインスタンスを初期化します。 |
| Claim(String, String) |
指定した要求の種類と値を使用して、 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, Byte[]) |
この Claim をライターに書き込みます。 |
| WriteTo(BinaryWriter) |
この Claim をライターに書き込みます。 |