Export (0) Print
Expand All

ClaimsIdentity Class

.NET Framework 4.5

Represents a claims-based identity.

Namespace:  System.Security.Claims
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class ClaimsIdentity : IIdentity

The ClaimsIdentity type exposes the following members.

  NameDescription
Public methodClaimsIdentity()Initializes a new instance of the ClaimsIdentity class with an empty claims collection.
Public methodClaimsIdentity(IEnumerable<Claim>)Initializes a new instance of the ClaimsIdentity class using an enumerated collection of Claim objects.
Public methodClaimsIdentity(IIdentity)Initializes a new instance of the ClaimsIdentity class using the name and authentication type from the specified IIdentity.
Protected methodClaimsIdentity(SerializationInfo)Initializes a new instance of the ClaimsIdentity class from a serialized stream created by using ISerializable.
Public methodClaimsIdentity(String)Initializes a new instance of the ClaimsIdentity class with an empty claims collection and the specified authentication type.
Public methodClaimsIdentity(IEnumerable<Claim>, String)Initializes a new instance of the ClaimsIdentity class with the specified claims and authentication type.
Public methodClaimsIdentity(IIdentity, IEnumerable<Claim>)Initializes a new instance of the ClaimsIdentity class using the specified claims and the specified IIdentity.
Protected methodClaimsIdentity(SerializationInfo, StreamingContext)Initializes a new instance of the ClaimsIdentity class from a serialized stream created by using ISerializable.
Public methodClaimsIdentity(String, String, String)Initializes a new instance of the ClaimsIdentity class with the specified authentication type, name claim type, and role claim type.
Public methodClaimsIdentity(IEnumerable<Claim>, String, String, String)Initializes a new instance of the ClaimsIdentity class with the specified, claims, authentication type, name claim type, and role claim type.
Public methodClaimsIdentity(IIdentity, IEnumerable<Claim>, String, String, String)Initializes a new instance of the ClaimsIdentity class from the specified IIdentity using the specified claims, authentication type, name claim type, and role claim type.
Top

  NameDescription
Public propertyActorGets or sets the identity of the calling party that was granted delegation rights.
Public propertyAuthenticationTypeGets the authentication type.
Public propertyBootstrapContextGets or sets the token that was used to create this claims identity.
Public propertyClaimsGets the claims associated with this claims identity.
Public propertyIsAuthenticatedGets a value that indicates whether the identity has been authenticated.
Public propertyLabelGets or sets the label for this claims identity.
Public propertyNameGets the name of this claims identity.
Public propertyNameClaimTypeGets the claim type that is used to determine which claims provide the value for the Name property of this claims identity.
Public propertyRoleClaimTypeGets the claim type that will be interpreted as a .NET Framework role among the claims in this claims identity.
Top

  NameDescription
Public methodAddClaimAdds a single claim to this claims identity.
Public methodAddClaimsAdds a list of claims to this claims identity.
Public methodCloneReturns a new ClaimsIdentity copied from this claims identity.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodFindAll(Predicate<Claim>)Retrieves all of the claims that are matched by the specified predicate.
Public methodFindAll(String)Retrieves all of the claims that have the specified claim type.
Public methodFindFirst(Predicate<Claim>)Retrieves the first claim that is matched by the specified predicate.
Public methodFindFirst(String)Retrieves the first claim with the specified claim type.
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Protected methodGetObjectDataPopulates the SerializationInfo with data needed to serialize the current ClaimsIdentity object.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodHasClaim(Predicate<Claim>)Determines whether this claims identity has a claim that is matched by the specified predicate.
Public methodHasClaim(String, String)Determines whether this claims identity has a claim with the specified claim type and value.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodRemoveClaimAttempts to remove a claim from the claims identity.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodTryRemoveClaimAttempts to remove a claim from the claims identity.
Top

  NameDescription
Public fieldStatic memberDefaultIssuerThe default issuer; “LOCAL AUTHORITY”.
Public fieldStatic memberDefaultNameClaimTypeThe default name claim type; ClaimTypes.Name.
Public fieldStatic memberDefaultRoleClaimTypeThe default role claim type; ClaimTypes.Role.
Top

The ClaimsIdentity class is a concrete implementation of a claims-based identity; that is, an identity described by a collection of claims. A claim is a statement about an entity made by an issuer that describes a property, right, or some other quality of that entity. Such an entity is said to be the subject of the claim. A claim is represented by the Claim class. The claims contained in a ClaimsIdentity describe the entity that the corresponding identity represents, and can be used to make authorization and authentication decisions. A claims-based access model has many advantages over more traditional access models that rely exclusively on roles. For example, claims can provide much richer information about the identity they represent and can be evaluated for authorization or authentication in a far more specific manner.

Beginning with .NET Framework 4.5, Windows Identity Foundation (WIF) and claims-based identity have been fully integrated into the .NET Framework. This means that many classes that represent an identity in the .NET Framework now derive from ClaimsIdentity and describe their properties through a collection of claims. This is different from previous versions of the .NET Framework, in which, these classes implemented the IIdentity interface directly. The collection of claims that describe the identity can be accessed through the Claims property. The ClaimsIdentity class provides several methods for finding and modifying claims and fully supports language integrated queries (LINQ). In application code, ClaimsIdentity objects are typically accessed through ClaimsPrincipal objects; for example, the principal returned by Thread.CurrentPrincipal.

NoteNote

The ClaimsPrincipal class has a Claims property as well. In the majority of cases you should access the user’s claims through the ClaimsPrincipal.Claims collection rather than through the Claims collection. You will need to access the claims of an individual ClaimsIdentity only in the cases where the principal contains more than one ClaimsIdentity and you need to evaluate or modify a specific identity.

Important noteImportant

To add or remove claims from the Claims collection, a caller must have full trust.

In the claims-based model, the IIdentity.Name property and the IPrincipal.IsInRole(String) method are implemented by evaluating the claims contained by an identity. The base implementations in the claims-based model are provided by the ClaimsIdentity.Name property and the ClaimsPrincipal.IsInRole method. The NameClaimType and RoleClaimType properties enable you to specify a claim type that should be used to evaluate the claims contained by the identity when performing these operations.

Delegation scenarios are supported through the Actor and BootstrapContext properties.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft