FormsAuthenticationTicket.UserData Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém uma cadeia de caracteres específica do usuário armazenada com o tíquete.
public:
property System::String ^ UserData { System::String ^ get(); };
public string UserData { get; }
member this.UserData : string
Public ReadOnly Property UserData As String
Valor da propriedade
Uma cadeia de caracteres específica do usuário armazenada com o tíquete. O padrão é uma cadeia de caracteres vazia ("").
Exemplos
O exemplo de código a seguir exibe os valores de propriedade do FormsAuthenticationTicket para o usuário conectado atual.
Observação
Se não houver nenhum usuário conectado, a Identity propriedade será null
e você receberá uma exceção do compilador ao tentar converter a Identity propriedade como um FormsIdentity objeto .
<%@ 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>
Comentários
Se o FormsAuthenticationTicket for criado usando um construtor que não fornece um userData
parâmetro, a UserData propriedade retornará uma cadeia de caracteres vazia (""); caso contrário, a propriedade version retornará o valor fornecido ao FormsAuthenticationTicket construtor.
Você pode usar a UserData propriedade para armazenar informações adicionais do usuário com o FormsAuthenticationTicket que não é mantido pelos valores de FormsAuthenticationTicket propriedade.
Observação
Você deve limitar a quantidade de dados armazenados na UserData propriedade . Você deve garantir que o tamanho da UserData propriedade não resulte em um cookie inválido ou em uma URL excessivamente longa.