Identity Model is a claims-based system. Claims describe the capabilities associated with some entity in the system, often a user of that system. The set of claims associated with a given entity can be thought of as a key. The particular claims define the shape of that key; much like a physical key is used to open a lock in a door. In this way, claims are used to gain access to resources. Access to a given protected resource is determined by comparing the claims needed to access that resource with the claims associated with the entity attempting access.
A claim is the expression of a right with respect to a particular value. A right could be something like "Read," "Write," or "Execute". A value could be a database, a file, a mailbox, or a property. Claims also have a claim type. The combination of claim type and right provides the mechanism for capabilities being specified with respect to the value. For example, a claim of type "File" with right "Read" over the value "Biography.doc" indicates that the entity with which such a claim is associated has read access to the file Biography.doc. A claim of type "Name" with right "PossessProperty" over the value "Martin" indicates that the entity with which such a claim is associated possesses a Name property with the value "Martin."
Although various claim types and rights are defined as part of Identity Model, the system is extensible. The various systems building on top of the Identity Model infrastructure can define claim types and rights as needed.
|Claim||Represents a claim that is associated with an entity.|
|ClaimSet||Represents the collection of claims that are associated with an entity.|
|ClaimTypes||Represents the pre-defined types of claims that an entity can claim. This class cannot be inherited.|
|DefaultClaimSet||Provides a default implementation of the ClaimSet class.|
|Rights||Defines the pre-defined types of rights that can be associated with a Claim object.|
|WindowsClaimSet||Represents a collection of Windows claims that are associated with an entity.|
|X509CertificateClaimSet||Represents a collection of claims extracted from an X.509 certificate that are associated with an entity.|