FormsIdentity Class

 

Represents a user identity authenticated using forms authentication. This class cannot be inherited.

Namespace:   System.Web.Security
Assembly:  System.Web (in System.Web.dll)

System.Object
  System.Security.Claims.ClaimsIdentity
    System.Web.Security.FormsIdentity

[SerializableAttribute]
[ComVisibleAttribute(false)]
public class FormsIdentity : ClaimsIdentity

NameDescription
System_CAPS_pubmethodFormsIdentity(FormsAuthenticationTicket)

Initializes a new instance of the FormsIdentity class.

System_CAPS_protmethodFormsIdentity(FormsIdentity)

Initializes a new instance of the FormsIdentity class based on the specified identity.

NameDescription
System_CAPS_pubpropertyActor

Gets or sets the identity of the calling party that was granted delegation rights.(Inherited from ClaimsIdentity.)

System_CAPS_pubpropertyAuthenticationType

Gets the type of authenticated identity.(Overrides ClaimsIdentity.AuthenticationType.)

System_CAPS_pubpropertyBootstrapContext

Gets or sets the token that was used to create this claims identity.(Inherited from ClaimsIdentity.)

System_CAPS_pubpropertyClaims

Gets the collection of claims that are associated with this identity.(Overrides ClaimsIdentity.Claims.)

System_CAPS_protpropertyCustomSerializationData

(Inherited from ClaimsIdentity.)

System_CAPS_pubpropertyIsAuthenticated

Gets a value that indicates whether authentication took place.(Overrides ClaimsIdentity.IsAuthenticated.)

System_CAPS_pubpropertyLabel

Gets or sets the label for this claims identity.(Inherited from ClaimsIdentity.)

System_CAPS_pubpropertyName

Gets the user name of the forms identity.(Overrides ClaimsIdentity.Name.)

System_CAPS_pubpropertyNameClaimType

Gets the claim type that is used to determine which claims provide the value for the Name property of this claims identity.(Inherited from ClaimsIdentity.)

System_CAPS_pubpropertyRoleClaimType

Gets the claim type that will be interpreted as a .NET Framework role among the claims in this claims identity.(Inherited from ClaimsIdentity.)

System_CAPS_pubpropertyTicket

Gets the FormsAuthenticationTicket for the forms-authentication user identity.

NameDescription
System_CAPS_pubmethodAddClaim(Claim)

Adds a single claim to this claims identity.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodAddClaims(IEnumerable<Claim>)

Adds a list of claims to this claims identity.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodClone()

Gets a copy of the current FormsIdentity instance.(Overrides ClaimsIdentity.Clone().)

System_CAPS_protmethodCreateClaim(BinaryReader)

(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodFindAll(Predicate<Claim>)

Retrieves all of the claims that are matched by the specified predicate.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodFindAll(String)

Retrieves all of the claims that have the specified claim type.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodFindFirst(Predicate<Claim>)

Retrieves the first claim that is matched by the specified predicate.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodFindFirst(String)

Retrieves the first claim with the specified claim type.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_protmethodGetObjectData(SerializationInfo, StreamingContext)

Populates the SerializationInfo with data needed to serialize the current ClaimsIdentity object.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodHasClaim(Predicate<Claim>)

Determines whether this claims identity has a claim that is matched by the specified predicate.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodHasClaim(String, String)

Determines whether this claims identity has a claim with the specified claim type and value.(Inherited from ClaimsIdentity.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodRemoveClaim(Claim)

Attempts to remove a claim from the claims identity.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubmethodTryRemoveClaim(Claim)

Attempts to remove a claim from the claims identity.(Inherited from ClaimsIdentity.)

System_CAPS_pubmethodWriteTo(BinaryWriter)

(Inherited from ClaimsIdentity.)

System_CAPS_protmethodWriteTo(BinaryWriter, Byte[])

(Inherited from ClaimsIdentity.)

The FormsIdentity class is used by the FormsAuthenticationModule when a user is authenticated with forms authentication. An instance of the FormsIdentity class is created using the FormsAuthenticationTicket that is decrypted from the forms-authentication cookie or from the URL. The new instance of the FormsIdentity class is used to construct a new GenericPrincipal object that is set as the value of the User property for the current HttpContext.

The following code example generates a FormsAuthenticationTicket and then uses it to create an instance of the FormsIdentity class, based on whether the user supplies the correct user name and password on the form.

<%@ Page Language="C#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ Import Namespace="System.Globalization" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">
    protected void Login_Click(object sender, EventArgs e)
    {
        bool isAuthenticated = false;
        if (string.Compare(UserNameTextBox.Text, "UserName", true,
        CultureInfo.InvariantCulture) == 0)
        {
            if (string.Compare(PasswordTextBox.Text, "Password", true,
            CultureInfo.InvariantCulture) == 0)
            {
                isAuthenticated = true;
            }
        }
        else isAuthenticated = false;

        // Create the formsIdentity for the user.
        CreateformsIdentity(UserNameTextBox.Text, isAuthenticated);
    }
    private void CreateformsIdentity(string userName, bool isAuthenticated)
    {
        FormsIdentity formsID;
        FormsAuthenticationTicket authenticationTicket;

        if (isAuthenticated)
        {
            // If authentication passed, create a ticket 
            // as a Manager that expires in 15 minutes.
            authenticationTicket = new FormsAuthenticationTicket(1, userName,
                DateTime.Now, DateTime.Now.AddMinutes(15), false, "Manager");
        }
        else
        {
            // If authentication failed, create a ticket 
            // as a guest that expired 5 minutes ago.
            authenticationTicket = new FormsAuthenticationTicket(1, userName,
                DateTime.Now, DateTime.Now.Subtract(new TimeSpan(0, 5, 0)),
                false, "Guest");
        }

        // Create form identity from FormsAuthenticationTicket.
        formsID = new FormsIdentity(authenticationTicket);
        Response.Clear();
        Response.Write("Authentication Type: " + formsID.AuthenticationType +
            "<BR>");

        // Get FormsAuthenticationTicket from the FormIdentity
        FormsAuthenticationTicket ticket = formsID.Ticket;
        if (ticket.Expired)
        {
            Response.Write("Authentication failed, so the role is set to " +
                ticket.UserData);
        }
        else
        {
            Response.Write("Authentication succeeded, so the role is set to " +
                ticket.UserData);
        }
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>WebForm1</title>
    </head>
    <body>
        <form id="Form1" method="post" runat="server">
            <asp:Label id="UserIdLabel" runat="server"
                style="left: 144px; position: absolute; top: 160px">
                User-ID:</asp:Label>
            <asp:Label id="PasswordLabel" runat="server"
                style="left: 144px; position: absolute; top: 200px">
                Password:</asp:Label>
            <asp:TextBox id="UserNameTextBox" runat="server"
                style="left: 232px; position: absolute; top: 160px;
                width:182px; height:22px"></asp:TextBox>
            <asp:TextBox id="PasswordTextBox" runat="server"
                style="left: 232px; position: absolute; top: 200px;
                width:181px; height:22px" TextMode="Password">
                </asp:TextBox>
            <asp:Button id="Login" runat="server" Text="Login"
                style="left: 232px; position: absolute; top: 232px; 
                width:100px" OnClick="Login_Click"></asp:Button>
        </form>
    </body>
</html>

.NET Framework
Available since 1.1

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

Return to top
Show: