FormsIdentity Class

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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
	Inherits 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(Of 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(Of 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(Of 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(Of 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="vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ Import Namespace="System.Globalization" %>
<script runat="server">
    Private Sub Login_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Login.Click

        ' For the example, the user name must be "UserName" and the password
        ' must be "Password" for authentication to succeed.
        Dim isAuthenticated As Boolean
        If String.Compare(UserNameTextBox.Text, "UserName", True, _
            CultureInfo.InvariantCulture) = 0 Then
            If String.Compare(PasswordTextBox.Text, "Password", True, _
                CultureInfo.InvariantCulture) = 0 Then
                isAuthenticated = True
            End If
        Else
            isAuthenticated = False
        End If

        ' Create the FormsIdentity for the user.
        CreateFormsIdentity(UserNameTextBox.Text, isAuthenticated)

    End Sub

    Private Sub CreateFormsIdentity(ByVal userName As String, _
        ByVal isAuthenticated As Boolean)

        Dim formsId As System.Web.Security.FormsIdentity
        Dim authenticationTicket As _
            System.Web.Security.FormsAuthenticationTicket

        If isAuthenticated Then
            ' 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")
        End If

        ' Create form identity from FormsAuthenticationTicket.
        formsId = New FormsIdentity(authenticationTicket)

        Response.Clear()
        Response.Write("Authenticate Type: " & _
            formsId.AuthenticationType & "<BR>")

        ' Get FormsAuthenticationTicket from the FormIdentity
        Dim ticket As FormsAuthenticationTicket = formsId.Ticket()
        If ticket.Expired Then
            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)
        End If
    End Sub

</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"></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: