Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
 UserData Property

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
FormsAuthenticationTicket..::.UserData Property

Gets a user-specific string stored with the ticket.

Namespace:  System.Web.Security
Assembly:  System.Web (in System.Web.dll)
Visual Basic (Declaration)
Public ReadOnly Property UserData As String
Visual Basic (Usage)
Dim instance As FormsAuthenticationTicket
Dim value As String

value = instance.UserData
C#
public string UserData { get; }
Visual C++
public:
property String^ UserData {
    String^ get ();
}
JScript
public function get UserData () : String

Property Value

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

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.

NoteNote:

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.

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

NoteNote:

If there is no logged-on user, the Identity property will be nullNothingnullptra null reference (Nothing in Visual Basic) and you will receive a compiler exception when attempting to cast the Identity property as a FormsIdentity object.

Visual Basic
<%@ 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  >
<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>

C#
<%@ 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  >
<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>

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.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Incorrect comment      perlun   |   Edit   |   Show History
Right before the comment, there is this comment:
If there is no logged-on user, the Identity property will be a null reference (Nothing in Visual Basic) and you will receive a compiler exception when attempting to cast the Identity property as a FormsIdentity object.
I believe this is wrong... You will get a runtime exception if the Identity property is a null reference, not a compilation exception.
Tags What's this?: Add a tag
Flag as ContentBug
Wrong property name      Jussi Iinatti   |   Edit   |   Show History
In Remarks section :"... the UserDataproperty returns an empty string (""); otherwise, the version property returns the value supplied ...". I think the name of property should be UserData in both cases, not version.
Tags What's this?: Add a tag
Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker