FormsAuthenticationTicket Class
Provides a means of creating and reading the values of a forms authentication cookie (containing an authentication ticket) as used by FormsAuthenticationModule. This class cannot be inherited.
For a list of all members of this type, see FormsAuthenticationTicket Members.
System.Object
System.Web.Security.FormsAuthenticationTicket
[Visual Basic] <Serializable> NotInheritable Public Class FormsAuthenticationTicket [C#] [Serializable] public sealed class FormsAuthenticationTicket [C++] [Serializable] public __gc __sealed class FormsAuthenticationTicket [JScript] public Serializable class FormsAuthenticationTicket
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Example
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="true" %> <script runat="server"> Function Authenticated(email As String, password As String) As Boolean ' This method authenticates the user for the application. ' In this demonstration application it always returns ' true. Return True End Function Sub Login_Click(sender As Object, e As EventArgs) ' Create a custom FormsAuthenticationTicket containing ' application specific data for the user. Dim email As String = UserEmail.Text Dim password As String = UserPass.Text Dim isPersistent As Boolean = Persist.Checked if Authenticated(email,password) Then Dim userData As String = "ApplicationSpecific data for this user." Dim ticket As New FormsAuthenticationTicket( _ 1, _ email, _ System.DateTime.Now, _ System.DateTime.Now.AddMinutes(30), _ isPersistent, _ userData, _ FormsAuthentication.FormsCookiePath) ' Encrypt the ticket. Dim encTicket As String = FormsAuthentication.Encrypt(ticket) ' Create the cookie. Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)) ' Redirect back to original URL. Response.Redirect(FormsAuthentication.GetRedirectUrl(email,isPersistent)) End If End Sub </script> <html> <head> <title>Forms Authentication Login</title> </head> <body> <form runat="server"> <span style="BACKGROUND: #80ff80"> <h3>Login Page</font> </h3> </span> <table> <tbody> <tr> <td> e-mail:</td> <td> <asp:TextBox id="UserEmail" type="text" runat="server" /></td> <td> <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserEmail"></ASP:RequiredFieldValidator> </td> <td> <asp:RegularExpressionValidator id="RegexValidator" runat="server" ErrorMessage="Invalid format for e-mail address." Display="Static" ControlToValidate="UserEmail" EnableClientScript="false" ValidationExpression="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"></asp:RegularExpressionValidator> </td> </tr> <tr> <td> Password:</td> <td> <asp:TextBox id="UserPass" TextMode="Password" runat="server" /></td> <td> <ASP:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserPass"></ASP:RequiredFieldValidator> </td> </tr> <tr> <td> Persistent Cookies:</td> <td> <asp:CheckBox id="Persist" runat="server" autopostback="true"></ASP:CheckBox> </td> <td> </td> </tr> </tbody> </table> <input type="submit" value="Login" runat="server" onserverclick="Login_Click" /> <p> <asp:Label id="Msg" runat="server" ></asp:Label> </p> </form> </body> </html> [C#] <%@ Page Language="C#" AutoEventWireup="true" %> <script runat="server"> private bool Authenticated(string email, string password) { // This method authenticates the user for the application. // In this demonstration application it always returns // true. return true; } private void Login_Click(Object sender, EventArgs e) { // Create a custom FormsAuthenticationTicket containing // application specific data for the user. string email = UserEmail.Text; string password = UserPass.Text; bool isPersistent = Persist.Checked; if (Authenticated(email,password)) { string userData = "ApplicationSpecific data for this user."; FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1, email, System.DateTime.Now, System.DateTime.Now.AddMinutes(30), isPersistent, userData, FormsAuthentication.FormsCookiePath); // Encrypt the ticket. string encTicket = FormsAuthentication.Encrypt(ticket); // Create the cookie. Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); // Redirect back to original URL. Response.Redirect(FormsAuthentication.GetRedirectUrl(email,isPersistent)); } } </script> <html> <head> <title>Forms Authentication Login</title> </head> <body> <form runat="server"> <span style="BACKGROUND: #80ff80"> <h3>Login Page</font> </h3> </span> <table> <tbody> <tr> <td> e-mail:</td> <td> <asp:TextBox id="UserEmail" type="text" runat="server" /></td> <td> <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserEmail"></ASP:RequiredFieldValidator> </td> <td> <asp:RegularExpressionValidator id="RegexValidator" runat="server" ErrorMessage="Invalid format for e-mail address." Display="Static" ControlToValidate="UserEmail" EnableClientScript="false" ValidationExpression="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"></asp:RegularExpressionValidator> </td> </tr> <tr> <td> Password:</td> <td> <asp:TextBox id="UserPass" TextMode="Password" runat="server" /></td> <td> <ASP:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="*" Display="Static" ControlToValidate="UserPass"></ASP:RequiredFieldValidator> </td> </tr> <tr> <td> Persistent Cookies:</td> <td> <asp:CheckBox id="Persist" runat="server" autopostback="true"></ASP:CheckBox> </td> <td> </td> </tr> </tbody> </table> <input type="submit" value="Login" runat="server" onserverclick="Login_Click" /> </form> </body> </html>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Web.Security
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
Assembly: System.Web (in System.Web.dll)
See Also
FormsAuthenticationTicket Members | System.Web.Security Namespace