Claim クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
エンティティに関連付けられたクレームを表します。
public ref class Claim
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")]
public class Claim
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.xmlsoap.org/ws/2005/05/identity")>]
type Claim = class
Public Class Claim
- 継承
-
Claim
- 属性
例
// Run this method from within a method protected by the PrincipalPermissionAttribute
// to see the security context data, including the primary identity.
public void WriteServiceSecurityContextData(string fileName)
{
using (StreamWriter sw = new StreamWriter(fileName))
{
// Write the primary identity and Windows identity. The primary identity is derived from the
// the credentials used to authenticate the user. The Windows identity may be a null string.
sw.WriteLine("PrimaryIdentity: {0}", ServiceSecurityContext.Current.PrimaryIdentity.Name);
sw.WriteLine("WindowsIdentity: {0}", ServiceSecurityContext.Current.WindowsIdentity.Name);
sw.WriteLine();
// Write the claimsets in the authorization context. By default, there is only one claimset
// provided by the system.
foreach (ClaimSet claimset in ServiceSecurityContext.Current.AuthorizationContext.ClaimSets)
{
foreach (Claim claim in claimset)
{
// Write out each claim type, claim value, and the right. There are two
// possible values for the right: "identity" and "possessproperty".
sw.WriteLine("Claim Type = {0}", claim.ClaimType);
sw.WriteLine("\t Resource = {0}", claim.Resource.ToString());
sw.WriteLine("\t Right = {0}", claim.Right);
}
}
}
}
' Run this method from within a method protected by the PrincipalPermissionAttribute
' to see the security context data, including the primary identity.
Public Sub WriteServiceSecurityContextData(ByVal fileName As String)
Dim sw As New StreamWriter(fileName)
Try
' Write the primary identity and Windows identity. The primary identity is derived from the
' the credentials used to authenticate the user. The Windows identity may be a null string.
sw.WriteLine("PrimaryIdentity: {0}", ServiceSecurityContext.Current.PrimaryIdentity.Name)
sw.WriteLine("WindowsIdentity: {0}", ServiceSecurityContext.Current.WindowsIdentity.Name)
sw.WriteLine()
' Write the claimsets in the authorization context. By default, there is only one claimset
' provided by the system.
Dim claimset As ClaimSet
For Each claimset In ServiceSecurityContext.Current.AuthorizationContext.ClaimSets
Dim claim As Claim
For Each claim In claimset
' Write out each claim type, claim value, and the right. There are two
' possible values for the right: "identity" and "possessproperty".
sw.WriteLine("Claim Type = {0}", claim.ClaimType)
sw.WriteLine(vbTab + " Resource = {0}", claim.Resource.ToString())
sw.WriteLine(vbTab + " Right = {0}", claim.Right)
Next claim
Next claimset
Finally
sw.Dispose()
End Try
End Sub
注釈
ID モデルはクレームに基づく承認システムです。 クレームは、システム内の何らかのエンティティ (多くの場合システムのユーザー) に関連する機能について記述します。 指定のエンティティに関連するクレームのセットをキーと考えることができます。 キーの形状は特定のクレームにより定義されます。このしくみは、ドアを開けるための物理的なキーとよく似ています。 このようにして、クレームは、リソースへのアクセスを取得するために使用されます。 保護された任意のリソースへのアクセスの可否は、そのリソースにアクセスするために必要なクレームと、アクセスを試みるエンティティに関連付けられたクレームを比較することにより特定されます。
クレームは、特定の値に関連付けられる権限の表現です。 権限には、読み取り、書き込み、所有があります。 値には、データベース、ファイル、メールボックス、またはプロパティが使用できます。 クレームはまた、特定のクレームの種類に属します。 クレームの種類と権限の組み合わせにより、値に基づいて機能が指定されるしくみが提供されます。 たとえば、値biography.doc
に対する権限read
を持つ型file
の要求は、そのような要求を持つエンティティがファイル biography.doc への読み取りアクセス権を持っていることを示します。値Martin
に対する権限PossessPropertyを持つ型名の要求は、要求を持つエンティティが 値 Martin
を持つプロパティをName
所有していることを示します。
さまざまなクレームの種類および権限が ID モデルの一部として定義されていますが、システムは拡張可能です。 ID モデル インフラストラクチャを基にして構築されているさまざまなシステムでは、必要に応じてクレームの種類と権限を定義できます。
コンストラクター
Claim(String, Object, String) |
種類、リソース、および権限を指定して、Claim クラスの新しいインスタンスを初期化します。 |
プロパティ
ClaimType |
クレームの種類を取得します。 |
DefaultComparer |
2 つの Claim オブジェクトが等しいかどうかを比較できるオブジェクトを取得します。 |
Resource |
この Claim オブジェクトが関連するリソースを取得します。 |
Right |
この Claim オブジェクトと関連する権限を指定する URI (Uniform Resource Identifier) の文字列表現。 定義済みの権限は、Rights クラスの静的なプロパティとして使用できます。 |
System |
システム エンティティを表す定義済みのクレーム。 |
メソッド
CreateDenyOnlyWindowsSidClaim(SecurityIdentifier) |
指定した拒否専用のセキュリティ ID (SID) を表す Claim オブジェクトを作成します。 |
CreateDnsClaim(String) |
指定したドメイン ネーム システム (DNS) 名を表す Claim オブジェクトを作成します。 |
CreateHashClaim(Byte[]) |
指定したハッシュ値を表す Claim オブジェクトを作成します。 |
CreateMailAddressClaim(MailAddress) |
指定した電子メール アドレスを表す Claim オブジェクトを作成します。 |
CreateNameClaim(String) |
指定した名前を表す Claim オブジェクトを作成します。 |
CreateRsaClaim(RSA) |
指定した RSA キーを表す Claim オブジェクトを作成します。 |
CreateSpnClaim(String) |
指定したサービス プリンシパル名 (SPN) を表す Claim オブジェクトを作成します。 |
CreateThumbprintClaim(Byte[]) |
指定した拇印を表す Claim オブジェクトを作成します。 |
CreateUpnClaim(String) |
指定したユニバーサル プリンシパル名 (UPN) を表す Claim オブジェクトを作成します。 |
CreateUriClaim(Uri) |
指定した URL (Uniform Resource Locator) を表す Claim オブジェクトを作成します。 |
CreateWindowsSidClaim(SecurityIdentifier) |
指定したセキュリティ ID (SID) を表す Claim オブジェクトを作成します。 |
CreateX500DistinguishedNameClaim(X500DistinguishedName) |
指定した X.500 識別名を表す Claim オブジェクトを作成します。 |
Equals(Object) |
指定したオブジェクトが現在の Claim オブジェクトと同じクレームを表すかどうかを調べます。 |
GetHashCode() |
現在のクレームのハッシュ コードを返します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
この Claim オブジェクトの文字列表現を返します。 |
適用対象
.NET