FormsAuthenticationTicket.UserData Property

Definition

Gets a user-specific string stored with the ticket.

public:
 property System::String ^ UserData { System::String ^ get(); };
public string UserData { get; }
member this.UserData : string
Public ReadOnly Property UserData As String

Property Value

A user-specific string stored with the ticket. The default is an empty string ("").

Examples

The following code example displays the property values of the FormsAuthenticationTicket for the current logged-on user.

Note

If there is no logged-on user, the Identity property will be null and you will receive a compiler exception when attempting to cast the Identity property as a FormsIdentity object.

<%@ Page Language="C#" AutoEventWireup="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    private void Page_Load(Object Src, EventArgs e)
    {
        Welcome.InnerHtml = "Hello, " +
            Server.HtmlEncode(User.Identity.Name);
    
       FormsIdentity id = (FormsIdentity)User.Identity;
       FormsAuthenticationTicket ticket = id.Ticket;
       
       cookiePath.Text = ticket.CookiePath;
       expireDate.Text = ticket.Expiration.ToString();
       expired.Text = ticket.Expired.ToString();
       isPersistent.Text = ticket.IsPersistent.ToString();
       issueDate.Text = ticket.IssueDate.ToString();
       name.Text = ticket.Name;
       userData.Text = ticket.UserData;
       version.Text = ticket.Version.ToString();
    
    
    }
    private void Signout_Click(Object sender, EventArgs e)
    {
        FormsAuthentication.SignOut();
        Response.Write("Logged out - cookie deleted.");
    }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Forms Authentication</title>
</head>
<body>
    <h3>Forms Authentication Example</h3>
    <span id="Welcome" runat="server"> </span>
    <form id="form1" runat="server">
        <input type="submit" value="Signout" runat="server" onserverclick="Signout_Click" />
        <h3>Forms Authentication Ticket Properties</h3> 
            <table>
                <tbody>
                    <tr>
                        <td>
                            CookiePath: 
                        </td>
                        <td><asp:Label id="cookiePath" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Expiration: 
                        </td>
                        <td><asp:Label id="expireDate" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Expired: 
                        </td>
                        <td><asp:Label id="expired" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            IsPersistent: 
                        </td>
                        <td><asp:Label id="isPersistent" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            IssueDate: 
                        </td>
                        <td><asp:Label id="issueDate" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Name: 
                        </td>
                        <td><asp:Label id="name" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            UserData: 
                        </td>
                        <td><asp:Label id="userData" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Version: 
                        </td>
                        <td><asp:Label id="version" runat="server" />
                        </td>
                    </tr>
                </tbody>
            </table>
            <p>
            </p>
    </form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    Sub Page_Load(sender As Object, e As EventArgs)
        Welcome.InnerHtml = "Hello, " + _
            Server.HtmlEncode(User.Identity.Name)
    
       Dim id As FormsIdentity = CType(User.Identity, FormsIdentity) 
       Dim ticket As FormsAuthenticationTicket = id.Ticket 

       cookiePath.Text = ticket.CookiePath
       expireDate.Text = ticket.Expiration.ToString()
       expired.Text = ticket.Expired.ToString()
       isPersistent.Text = ticket.IsPersistent.ToString()
       issueDate.Text = ticket.IssueDate.ToString()
       name.Text = ticket.Name
       userData.Text = ticket.UserData
       version.Text = ticket.Version.ToString()
    End Sub

    Sub Signout_Click(sender As Object, e As EventArgs)
        FormsAuthentication.SignOut()
        Response.Write("Logged out - cookie deleted.")
    End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Forms Authentication</title>
</head>
<body>
    <h3>Forms Authentication Example</h3>
    <span id="Welcome" runat="server"> </span>
    <form id="form1" runat="server">
        <input type="submit" value="Signout" runat="server" onserverclick="Signout_Click" />
        <h3>Forms Authentication Ticket Properties</h3> 
            <table>
                <tbody>
                    <tr>
                        <td>
                            CookiePath: 
                        </td>
                        <td><asp:Label id="cookiePath" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Expiration: 
                        </td>
                        <td><asp:Label id="expireDate" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Expired: 
                        </td>
                        <td><asp:Label id="expired" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            IsPersistent: 
                        </td>
                        <td><asp:Label id="isPersistent" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            IssueDate: 
                        </td>
                        <td><asp:Label id="issueDate" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Name: 
                        </td>
                        <td><asp:Label id="name" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            UserData: 
                        </td>
                        <td><asp:Label id="userData" runat="server" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Version: 
                        </td>
                        <td><asp:Label id="version" runat="server" />
                        </td>
                    </tr>
                </tbody>
            </table>
            <p>
            </p>
    </form>
</body>
</html>

Remarks

If the FormsAuthenticationTicket is created using a constructor that does not supply a userData parameter, the UserData property returns an empty string (""); otherwise, the version property returns the value supplied to the FormsAuthenticationTicket constructor.

You can use the UserData property to store additional user information with the FormsAuthenticationTicket that is not maintained by the FormsAuthenticationTicket property values.

Note

You should limit the amount of data stored in the UserData property. You must ensure that the size of the UserData property does not result in an invalid cookie or an excessively long URL.

Applies to

See also