GenericPrincipal Class
.NET Framework 4.5
Represents a generic principal.
System.Object
System.Security.Claims.ClaimsPrincipal
System.Security.Principal.GenericPrincipal
System.Web.Security.PassportPrincipal
System.Security.Claims.ClaimsPrincipal
System.Security.Principal.GenericPrincipal
System.Web.Security.PassportPrincipal
Namespace: System.Security.Principal
Assembly: mscorlib (in mscorlib.dll)
The GenericPrincipal type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | GenericPrincipal | Initializes a new instance of the GenericPrincipal class from a user identity and an array of role names to which the user represented by that identity belongs. |
| Name | Description | |
|---|---|---|
![]() | Claims | Gets a collection that contains all of the claims from all of the claims identities associated with this claims principal. (Inherited from ClaimsPrincipal.) |
![]() | Identities | Gets a collection that contains all of the claims identities associated with this claims principal. (Inherited from ClaimsPrincipal.) |
![]() | Identity | Gets the GenericIdentity of the user represented by the current GenericPrincipal. (Overrides ClaimsPrincipal.Identity.) |
| Name | Description | |
|---|---|---|
![]() | AddIdentities | Adds the specified claims identities to this claims principal. (Inherited from ClaimsPrincipal.) |
![]() | AddIdentity | Adds the specified claims identity to this claims principal. (Inherited from ClaimsPrincipal.) |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | FindAll(Predicate<Claim>) | Retrieves all of the claims that are matched by the specified predicate. (Inherited from ClaimsPrincipal.) |
![]() | FindAll(String) | Retrieves all or the claims that have the specified claim type. (Inherited from ClaimsPrincipal.) |
![]() | FindFirst(Predicate<Claim>) | Retrieves the first claim that is matched by the specified predicate. (Inherited from ClaimsPrincipal.) |
![]() | FindFirst(String) | Retrieves the first claim with the specified claim type. (Inherited from ClaimsPrincipal.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetObjectData | Populates the SerializationInfo with data needed to serialize the current ClaimsPrincipal object. (Inherited from ClaimsPrincipal.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | HasClaim(Predicate<Claim>) | Determines whether any of the claims identities associated with this claims principal contains a claim that is matched by the specified predicate. (Inherited from ClaimsPrincipal.) |
![]() | HasClaim(String, String) | Determines whether any of the claims identities associated with this claims principal contains a claim with the specified claim type and value. (Inherited from ClaimsPrincipal.) |
![]() | IsInRole | Determines whether the current GenericPrincipal belongs to the specified role. (Overrides ClaimsPrincipal.IsInRole(String).) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
This class represents the roles of the current user.
| Topic | Location |
|---|---|
| How to: Create GenericPrincipal and GenericIdentity Objects | .NET Framework: Security |
| How to: Create GenericPrincipal and GenericIdentity Objects | .NET Framework: Security |
The following example shows the use of members of the GenericPrincipal class.
using System; using System.Security.Principal; class GenericPrincipalMembers { [STAThread] static void Main(string[] args) { // Retrieve a GenericPrincipal that is based on the current user's // WindowsIdentity. GenericPrincipal genericPrincipal = GetGenericPrincipal(); // Retrieve the generic identity of the GenericPrincipal object. GenericIdentity principalIdentity = (GenericIdentity)genericPrincipal.Identity; // Display the identity name and authentication type. if (principalIdentity.IsAuthenticated) { Console.WriteLine(principalIdentity.Name); Console.WriteLine("Type:"+principalIdentity.AuthenticationType); } // Verify that the generic principal has been assigned the // NetworkUser role. if (genericPrincipal.IsInRole("NetworkUser")) { Console.WriteLine("User belongs to the NetworkUser role."); } Console.WriteLine("The sample completed successfully; " + "press Enter to continue."); Console.ReadLine(); } // Create a generic principal based on values from the current // WindowsIdentity. private static GenericPrincipal GetGenericPrincipal() { // Use values from the current WindowsIdentity to construct // a set of GenericPrincipal roles. WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent(); string[] roles = new string[10]; if (windowsIdentity.IsAuthenticated) { // Add custom NetworkUser role. roles[0] = "NetworkUser"; } if (windowsIdentity.IsGuest) { // Add custom GuestUser role. roles[1] = "GuestUser"; } if (windowsIdentity.IsSystem) { // Add custom SystemUser role. roles[2] = "SystemUser"; } // Construct a GenericIdentity object based on the current Windows // identity name and authentication type. string authenticationType = windowsIdentity.AuthenticationType; string userName = windowsIdentity.Name; GenericIdentity genericIdentity = new GenericIdentity(userName, authenticationType); // Construct a GenericPrincipal object based on the generic identity // and custom roles for the user. GenericPrincipal genericPrincipal = new GenericPrincipal(genericIdentity, roles); return genericPrincipal; } }
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.
