FormsAuthenticationTicket Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona acceso a las propiedades y valores del vale utilizados con la autenticación de formularios para identificar a los usuarios. Esta clase no puede heredarse.
public ref class FormsAuthenticationTicket sealed
[System.Serializable]
public sealed class FormsAuthenticationTicket
[<System.Serializable>]
type FormsAuthenticationTicket = class
Public NotInheritable Class FormsAuthenticationTicket
- Herencia
-
FormsAuthenticationTicket
- Atributos
Ejemplos
En el ejemplo de código siguiente se almacena el resultado del Encrypt método en una cookie mediante FormsCookieName y se redirige al usuario a la dirección URL devuelta desde el GetRedirectUrl método .
Importante
Este ejemplo contiene un cuadro de texto que acepta la entrada del usuario, que es una amenaza de seguridad potencial. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante 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>
Comentarios
La FormsAuthenticationTicket clase se usa para crear un objeto que representa el vale de autenticación que usa la autenticación de formularios para identificar un usuario autenticado. Las propiedades y los valores de un vale de autenticación de formularios se convierten en y desde una cadena cifrada almacenada en una cookie o en la dirección URL.
La FormsAuthentication clase proporciona un Encrypt método para crear un valor de cadena que se puede almacenar en una cookie o en la dirección URL de un FormsAuthenticationTicket. La FormsAuthentication clase también proporciona un Decrypt método para crear un FormsAuthenticationTicket objeto a partir del vale de autenticación cifrado recuperado de la cookie de autenticación de formularios o la dirección URL.
Se FormsAuthenticationTicket puede tener acceso al para el usuario autenticado actual mediante la Ticket propiedad de la FormsIdentity clase . Para obtener acceso al objeto actual FormsIdentity , convierta la Identity propiedad del actual User como tipo FormsIdentity.
Constructores
FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String) |
Inicializa una nueva instancia de la clase FormsAuthenticationTicket con nombre de cookie, versión, fecha de expiración, fecha de emisión, persistencia y datos específicos del usuario. La ruta de cookies se establece en el valor predeterminado establecido en el archivo de configuración de la aplicación. |
FormsAuthenticationTicket(Int32, String, DateTime, DateTime, Boolean, String, String) |
Inicializa una nueva instancia de la clase FormsAuthenticationTicket con nombre de cookie, versión, ruta de acceso del directorio, fecha de expiración, fecha de emisión, persistencia y datos definidos por el usuario. |
FormsAuthenticationTicket(String, Boolean, Int32) |
Inicializa una nueva instancia de la clase FormsAuthenticationTicket con un nombre de cookie y la información de expiración. |
Propiedades
CookiePath |
Obtiene la ruta de acceso de cookies para el vale de autenticación de formularios. |
Expiration |
Obtiene la fecha y hora local en las que expira el vale de autenticación de formularios. |
Expired |
Obtiene un valor que indica si el vale de autenticación de formularios ha expirado. |
IsPersistent |
Obtiene un valor que indica si la cookie que contiene la información del vale de autenticación de formularios es persistente. |
IssueDate |
Obtiene la fecha y hora local en las se emitió originalmente el vale de autenticación de formularios. |
Name |
Obtiene el nombre de usuario asociado al vale de autenticación de formularios. |
UserData |
Obtiene una cadena específica del usuario almacenada con el vale. |
Version |
Obtiene el número de versión del vale. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |