FormsIdentity Class
Represents a user identity authenticated using forms authentication. This class cannot be inherited.
Assembly: System.Web (in System.Web.dll)
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>
- AspNetHostingPermission
for using the FormsIdentity class in a hosted environment. Demand value: LinkDemand; Permission value: Minimal.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.