FormsIdentity Class
Represents a user identity authenticated using forms authentication. This class cannot be inherited.
Assembly: System.Web (in System.Web.dll)
The FormsIdentity type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | AuthenticationType | Gets the type of authenticated identity. |
![]() | IsAuthenticated | Gets a value that indicates whether authentication took place. |
![]() | Name | Gets the user name of the forms identity. |
![]() | Ticket | Gets the FormsAuthenticationTicket for the forms-authentication user identity. |
| Name | Description | |
|---|---|---|
![]() | 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.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
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>
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
