FormsAuthenticationTicket.UserData Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.