Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
FormsIdentity (Clase)
Representa una identidad del usuario autenticado utilizando la autenticación de formularios. Esta clase no puede heredarse.
Ensamblado: System.Web (en System.Web.dll)
El tipo FormsIdentity expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
AuthenticationType | Obtiene el tipo de identidad autenticada. |
|
IsAuthenticated | Obtiene un valor que indica si la autenticación se ha realizado. |
|
Name | Obtiene el nombre de usuario de la identidad de formularios. |
|
Ticket | Obtiene el objeto FormsAuthenticationTicket para la identidad de usuario de autenticación de formularios. |
| Nombre | Descripción | |
|---|---|---|
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
La clase FormsIdentity utiliza FormsAuthenticationModule cuando un usuario se autentica mediante la autenticación de formularios. Se crea una instancia de la clase FormsIdentity con el objeto FormsAuthenticationTicket descifrado desde la cookie de autenticación de formularios o desde la dirección URL. La nueva instancia de la clase FormsIdentity se utiliza para construir un nuevo objeto GenericPrincipal que se establece como el valor de la propiedad User para el objeto HttpContext actual.
El ejemplo de código siguiente genera FormsAuthenticationTicket y, a continuación, lo utiliza para crear una instancia de la clase FormsIdentity, basándose en si el usuario ha proporcionado el nombre de usuario y contraseña correctos en el formulario.
<%@ Page Language="C#" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <%@ Import Namespace="System.Globalization" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> protected void Login_Click(object sender, EventArgs e) { bool isAuthenticated = false; if (string.Compare(UserNameTextBox.Text, "UserName", true, CultureInfo.InvariantCulture) == 0) { if (string.Compare(PasswordTextBox.Text, "Password", true, CultureInfo.InvariantCulture) == 0) { isAuthenticated = true; } } else isAuthenticated = false; // Create the formsIdentity for the user. CreateformsIdentity(UserNameTextBox.Text, isAuthenticated); } private void CreateformsIdentity(string userName, bool isAuthenticated) { FormsIdentity formsID; FormsAuthenticationTicket authenticationTicket; if (isAuthenticated) { // If authentication passed, create a ticket // as a Manager that expires in 15 minutes. authenticationTicket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddMinutes(15), false, "Manager"); } else { // If authentication failed, create a ticket // as a guest that expired 5 minutes ago. authenticationTicket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.Subtract(new TimeSpan(0, 5, 0)), false, "Guest"); } // Create form identity from FormsAuthenticationTicket. formsID = new FormsIdentity(authenticationTicket); Response.Clear(); Response.Write("Authentication Type: " + formsID.AuthenticationType + "<BR>"); // Get FormsAuthenticationTicket from the FormIdentity FormsAuthenticationTicket ticket = formsID.Ticket; if (ticket.Expired) { Response.Write("Authentication failed, so the role is set to " + ticket.UserData); } else { Response.Write("Authentication succeeded, so the role is set to " + ticket.UserData); } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>WebForm1</title> </head> <body> <form id="Form1" method="post" runat="server"> <asp:Label id="UserIdLabel" runat="server" style="left: 144px; position: absolute; top: 160px"> User-ID:</asp:Label> <asp:Label id="PasswordLabel" runat="server" style="left: 144px; position: absolute; top: 200px"> Password:</asp:Label> <asp:TextBox id="UserNameTextBox" runat="server" style="left: 232px; position: absolute; top: 160px; width:182px; height:22px"></asp:TextBox> <asp:TextBox id="PasswordTextBox" runat="server" style="left: 232px; position: absolute; top: 200px; width:181px; height:22px" TextMode="Password"> </asp:TextBox> <asp:Button id="Login" runat="server" Text="Login" style="left: 232px; position: absolute; top: 232px; width:100px" OnClick="Login_Click"></asp:Button> </form> </body> </html>
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.