FormsAuthenticationTicket Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece acesso às propriedades e valores do ticket utilizado com a autenticação de formulários para identificar utilizadores. Esta classe não pode ser herdada.
public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
- Herança
-
FormsAuthenticationTicket
- Atributos
Exemplos
O seguinte exemplo de código armazena o resultado do Encrypt método num cookie usando o FormsCookieName e redireciona o utilizador para a URL devolvida pelo GetRedirectUrl método.
Importante
Este exemplo contém uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de Scripts.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!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 Login_Click(Object sender, EventArgs e)
{
// Create a custom FormsAuthenticationTicket containing
// application specific data for the user.
string username = UserNameTextBox.Text;
string password = UserPassTextBox.Text;
bool isPersistent = false;
if (Membership.ValidateUser(username, password))
{
string userData = "ApplicationSpecific data for this user.";
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
username,
DateTime.Now,
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(username, isPersistent));
}
else
{
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Forms Authentication Login</title>
</head>
<body>
<form id="form1" runat="server">
<span style="BACKGROUND: #80ff80; font-weight:bold">
Login Page
</span>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table border="0">
<tbody>
<tr>
<td>Username:</td>
<td><asp:TextBox id="UserNameTextBox" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserNameTextBox" />
</td>
</tr>
<tr>
<td>Password:</td>
<td><asp:TextBox id="UserPassTextBox" TextMode="Password" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator2"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserPassTextBox" />
</td>
</tr>
</tbody>
</table>
<input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub Login_Click(sender As Object, e As EventArgs)
' Create a custom FormsAuthenticationTicket containing
' application specific data for the user.
Dim username As String = UserNameTextBox.Text
Dim password As String = UserPassTextBox.Text
Dim isPersistent As Boolean = False
If Membership.ValidateUser(username, password) Then
Dim userData As String = "ApplicationSpecific data for this user."
Dim ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, _
username, _
DateTime.Now, _
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(username, isPersistent))
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Forms Authentication Login</title>
</head>
<body>
<form id="form1" runat="server">
<span style="BACKGROUND:#80ff80; font-weight:bold">
Login Page
</span>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table border="0">
<tbody>
<tr>
<td>Username:</td>
<td><asp:TextBox id="UserNameTextBox" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserNameTextBox" />
</td>
</tr>
<tr>
<td>Password:</td>
<td><asp:TextBox id="UserPassTextBox" TextMode="Password" runat="server" /></td>
<td>
<asp:RequiredFieldValidator id="RequiredFieldValidator2"
runat="server" ErrorMessage="*"
Display="Static"
ControlToValidate="UserPassTextBox" />
</td>
</tr>
</tbody>
</table>
<input type="submit" value="Login" runat="server" onserverclick="Login_Click" />
</form>
</body>
</html>
Observações
A FormsAuthenticationTicket classe é usada para criar um objeto que representa o ticket de autenticação utilizado pela autenticação de formulários para identificar um utilizador autenticado. As propriedades e valores de um ticket de autenticação de formulários são convertidos para e a partir de uma cadeia encriptada que é armazenada num cookie ou na URL.
A FormsAuthentication classe fornece um Encrypt método para criar um valor de cadeia que pode ser armazenado num cookie ou na URL a partir de um FormsAuthenticationTicketarquivo . A FormsAuthentication classe também fornece um Decrypt método para criar um FormsAuthenticationTicket objeto a partir do ticket de autenticação encriptado recuperado do cookie de autenticação de formulários ou do URL.
O FormsAuthenticationTicket para o utilizador autenticado atual pode ser acedido usando a Ticket propriedade da FormsIdentity classe. Pode aceder ao objeto atual FormsIdentity lançando a Identity propriedade da corrente User como tipo FormsIdentity.
Construtores
| Name | Description |
|---|---|
| FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String) |
Inicializa uma nova instância da FormsAuthenticationTicket classe com nome do cookie, versão, caminho do diretório, data de emissão, data de expiração, persistência e dados definidos pelo utilizador. |
| FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String) |
Inicializa uma nova instância da FormsAuthenticationTicket classe com nome do cookie, versão, data de validade, data de emissão, persistência e dados específicos do utilizador. O caminho das cookies é definido para o valor padrão estabelecido no ficheiro de configuração da aplicação. |
| FormsAuthenticationTicket(String, Boolean, Int32) |
Inicializa uma nova instância da FormsAuthenticationTicket classe usando o nome de um cookie e informações de validade. |
Propriedades
| Name | Description |
|---|---|
| CookiePath |
Obtém o caminho dos cookies para o ticket de autenticação de formulários. |
| Expiration |
Obtém a data e hora locais em que o bilhete de autenticação dos formulários expira. |
| Expired |
Recebe um valor que indica se o ticket de autenticação de formulários expirou. |
| IsPersistent |
Recebe um valor que indica se o cookie que contém a informação do ticket de autenticação de formulários é persistente. |
| IssueDate |
Obtém a data e hora locais em que o bilhete de autenticação dos formulários foi originalmente emitido. |
| Name |
Obtém o nome de utilizador associado ao ticket de autenticação de formulários. |
| UserData |
Recebe uma cadeia específica de utilizador armazenada com o ticket. |
| Version |
Obtém o número de versão do bilhete. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |