ClaimsIdentity 類別

定義

代表宣告式身分識別。

public ref class ClaimsIdentity : System::Security::Principal::IIdentity
public class ClaimsIdentity : System.Security.Principal.IIdentity
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ClaimsIdentity : System.Security.Principal.IIdentity
type ClaimsIdentity = class
    interface IIdentity
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ClaimsIdentity = class
    interface IIdentity
Public Class ClaimsIdentity
Implements IIdentity
繼承
ClaimsIdentity
衍生
屬性
實作

備註

類別 ClaimsIdentity 是宣告型身分識別的具體實作;也就是宣告集合所描述的身分識別。 宣告是關於簽發者所建立之實體的聲明,描述該實體的屬性、許可權或該實體的其他品質。 這類實體稱為宣告的主體。 宣告是由 Claim 類別表示。 包含在 中的 ClaimsIdentity 宣告描述對應身分識別所代表的實體,而且可用來做出授權和驗證決策。 宣告型存取模型對於依賴角色的較傳統存取模型有許多優點。 例如,宣告可以提供更豐富的身分識別資訊,而且可以更具體的方式評估授權或驗證。

從 .NET Framework 4.5 開始,Windows Identity Foundation (WIF) 和宣告型身分識別已完全整合到.NET Framework。 這表示許多代表.NET Framework中身分識別的類別現在衍生自 ClaimsIdentity ,並透過宣告集合來描述其屬性。 這與舊版.NET Framework不同,在這些版本中,這些類別會直接實作 IIdentity 介面。 可透過 屬性存取描述身分識別的 Claims 宣告集合。 類別 ClaimsIdentity 提供數種方法來尋找和修改宣告,並完全支援 LINQ) (語言整合式查詢。 在應用程式程式碼中, ClaimsIdentity 物件通常是透過 物件存取 ClaimsPrincipal ;例如,由 傳 Thread.CurrentPrincipal 回的主體。

注意

類別 ClaimsPrincipal 也有 Claims 屬性。 在大部分情況下,您應該透過 ClaimsPrincipal.Claims 集合存取使用者的宣告,而不是透過集合存取 Claims 。 只有在主體包含一個 ClaimsIdentity 以上的案例中,才需要存取個別 ClaimsIdentity 的宣告,而且您必須評估或修改特定身分識別。

重要

若要從 Claims 集合新增或移除宣告,呼叫端必須具有完全信任。

在宣告型模型中, IIdentity.Name 屬性和 IPrincipal.IsInRole(String) 方法的實作方式是評估身分識別所包含的宣告。 宣告型模型中的基底實作是由 ClaimsIdentity.Name 屬性和 ClaimsPrincipal.IsInRole 方法所提供。 NameClaimTypeRoleClaimType 屬性可讓您指定宣告類型,以在執行這些作業時,用來評估身分識別所包含的宣告。

委派案例可透過 ActorBootstrapContext 屬性來支援。

建構函式

ClaimsIdentity()

使用空的宣告集合,初始化 ClaimsIdentity 類別的新執行個體。

ClaimsIdentity(BinaryReader)

使用指定的 BinaryReader,初始化 ClaimsIdentity 的執行個體。

ClaimsIdentity(ClaimsIdentity)

從現有的 ClaimsIdentity 執行個體初始化 ClaimsIdentity 類別的新執行個體。

ClaimsIdentity(IEnumerable<Claim>)

使用 ClaimsIdentity 物件的列舉集合,初始化 Claim 類別的新執行個體。

ClaimsIdentity(IEnumerable<Claim>, String)

使用指定的宣告和驗證類型,初始化 ClaimsIdentity 類別的新執行個體。

ClaimsIdentity(IEnumerable<Claim>, String, String, String)

使用指定的宣告、驗證類型、名稱宣告類型,以及角色宣告類型,初始化 ClaimsIdentity 類別的新執行個體。

ClaimsIdentity(IIdentity)

使用名稱和驗證類型,從指定的 ClaimsIdentity 初始化 IIdentity 類別的新執行個體。

ClaimsIdentity(IIdentity, IEnumerable<Claim>)

使用指定的宣告和指定的 ClaimsIdentity,初始化 IIdentity 類別的新執行個體。

ClaimsIdentity(IIdentity, IEnumerable<Claim>, String, String, String)

從指定的 ClaimsIdentity,使用指定的宣告、驗證類型、名稱宣告型別,以及角色宣告類型,初始化 IIdentity 類別的新執行個體。

ClaimsIdentity(SerializationInfo)
已淘汰.

從使用 ISerializable 建立的序列化資料流,初始化 ClaimsIdentity 類別的新執行個體。

ClaimsIdentity(SerializationInfo, StreamingContext)
已淘汰.

從使用 ISerializable 建立的序列化資料流,初始化 ClaimsIdentity 類別的新執行個體。

ClaimsIdentity(String)

使用空白宣告集合和指定的驗證類型,初始化 ClaimsIdentity 類別的新執行個體。

ClaimsIdentity(String, String, String)

使用指定的驗證類型、宣告類型和角色宣告類型,初始化 ClaimsIdentity 類別的新執行個體。

欄位

DefaultIssuer

預設核發者:「本機授權單位」。

DefaultNameClaimType

預設名稱宣告型別;Name.

DefaultRoleClaimType

預設角色宣告型別;Role.

屬性

Actor

取得或設定已授與委派權限之呼叫方的識別。

AuthenticationType

取得驗證類型。

BootstrapContext

取得或設定用來建立此宣告識別的權杖。

Claims

取得與此宣告識別相關聯的宣告。

CustomSerializationData

包含衍生類型所提供的任何其他資料。 通常會在呼叫 WriteTo(BinaryWriter, Byte[]) 時設定。

IsAuthenticated

取得值,指出識別是否已經驗證。

Label

取得或設定此宣告識別的標籤。

Name

取得這個宣告識別的名稱。

NameClaimType

取得宣告型別,用來判斷哪些宣告為這個宣告識別的 Name 屬性提供值。

RoleClaimType

在此宣告身分識別的宣告中,取得將解譯為 .NET 角色的宣告型別。

方法

AddClaim(Claim)

將單一宣告加入至這個宣告識別。

AddClaims(IEnumerable<Claim>)

將宣告清單加入至這個宣告識別。

Clone()

傳回從這個宣告識別複製的新 ClaimsIdentity

CreateClaim(BinaryReader)

提供衍生類型的擴充點來建立自訂 Claim

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
FindAll(Predicate<Claim>)

擷取符合指定述詞的所有宣告。

FindAll(String)

擷取具有指定宣告型別的所有宣告。

FindFirst(Predicate<Claim>)

擷取符合指定述詞的第一個宣告。

FindFirst(String)

擷取含指定宣告型別的第一個宣告。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetObjectData(SerializationInfo, StreamingContext)

將序列化目前 SerializationInfo 物件所需的資料填入 ClaimsIdentity

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
HasClaim(Predicate<Claim>)

判斷這個宣告識別是否具有與指定之述詞相符的宣告。

HasClaim(String, String)

判斷這個宣告識別是否具有含指定之型別及值的宣告。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
RemoveClaim(Claim)

嘗試從宣告識別移除宣告。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TryRemoveClaim(Claim)

嘗試從宣告識別移除宣告。

WriteTo(BinaryWriter)

使用 BinaryWriter 序列化。

WriteTo(BinaryWriter, Byte[])

使用 BinaryWriter 序列化。

適用於

另請參閱