FormsIdentity Clase

Definición

Representa una identidad del usuario autenticado utilizando la autenticación de formularios. Esta clase no puede heredarse.

public ref class FormsIdentity sealed : System::Security::Principal::IIdentity
public ref class FormsIdentity : System::Security::Principal::IIdentity
public ref class FormsIdentity : System::Security::Claims::ClaimsIdentity
[System.Serializable]
public sealed class FormsIdentity : System.Security.Principal.IIdentity
[System.Serializable]
public class FormsIdentity : System.Security.Principal.IIdentity
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(false)]
public class FormsIdentity : System.Security.Claims.ClaimsIdentity
[<System.Serializable>]
type FormsIdentity = class
    interface IIdentity
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(false)>]
type FormsIdentity = class
    inherit ClaimsIdentity
Public NotInheritable Class FormsIdentity
Implements IIdentity
Public Class FormsIdentity
Implements IIdentity
Public Class FormsIdentity
Inherits ClaimsIdentity
Herencia
FormsIdentity
Herencia
FormsIdentity
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente se genera y FormsAuthenticationTicket , a continuación, se usa para crear una instancia de la FormsIdentity clase , en función de si el usuario proporciona el nombre de usuario y la 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>
<%@ Page Language="vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ Import Namespace="System.Globalization" %>
<script runat="server">
    Private Sub Login_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Login.Click

        ' For the example, the user name must be "UserName" and the password
        ' must be "Password" for authentication to succeed.
        Dim isAuthenticated As Boolean
        If String.Compare(UserNameTextBox.Text, "UserName", True, _
            CultureInfo.InvariantCulture) = 0 Then
            If String.Compare(PasswordTextBox.Text, "Password", True, _
                CultureInfo.InvariantCulture) = 0 Then
                isAuthenticated = True
            End If
        Else
            isAuthenticated = False
        End If

        ' Create the FormsIdentity for the user.
        CreateFormsIdentity(UserNameTextBox.Text, isAuthenticated)

    End Sub

    Private Sub CreateFormsIdentity(ByVal userName As String, _
        ByVal isAuthenticated As Boolean)

        Dim formsId As System.Web.Security.FormsIdentity
        Dim authenticationTicket As _
            System.Web.Security.FormsAuthenticationTicket

        If isAuthenticated Then
            ' 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")
        End If

        ' Create form identity from FormsAuthenticationTicket.
        formsId = New FormsIdentity(authenticationTicket)

        Response.Clear()
        Response.Write("Authenticate Type: " & _
            formsId.AuthenticationType & "<BR>")

        ' Get FormsAuthenticationTicket from the FormIdentity
        Dim ticket As FormsAuthenticationTicket = formsId.Ticket()
        If ticket.Expired Then
            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)
        End If
    End Sub

</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"></asp:Button>
        </form>
    </body>
</html>

Comentarios

La FormsIdentity clase la usa FormsAuthenticationModule cuando un usuario se autentica con la autenticación de formularios. Se crea una instancia de la FormsIdentity clase mediante el FormsAuthenticationTicket que se descifra de la cookie de autenticación de formularios o de la dirección URL. La nueva instancia de la FormsIdentity clase se usa para construir un nuevo GenericPrincipal objeto que se establece como el valor de la User propiedad para el objeto actual HttpContext.

Constructores

FormsIdentity(FormsAuthenticationTicket)

Inicializa una nueva instancia de la clase FormsIdentity.

FormsIdentity(FormsIdentity)

Inicializa una nueva instancia de la clase FormsIdentity basándose en la identidad especificada.

Campos

DefaultIssuer

Emisor predeterminado; "LOCAL AUTHORITY".

(Heredado de ClaimsIdentity)
DefaultNameClaimType

Tipo de notificación de nombre predeterminado; Name.

(Heredado de ClaimsIdentity)
DefaultRoleClaimType

Tipo de notificación de rol predeterminado; Role.

(Heredado de ClaimsIdentity)

Propiedades

Actor

Obtiene o establece la identidad del usuario que llama al que se han concedido derechos de delegación.

(Heredado de ClaimsIdentity)
AuthenticationType

Obtiene el tipo de identidad autenticada.

BootstrapContext

Obtiene o establece el token que se usó para crear estas notificaciones de identidad.

(Heredado de ClaimsIdentity)
Claims

Obtiene la colección de notificaciones adjuntadas a esta entidad.

CustomSerializationData

Contiene datos adicionales proporcionados por un tipo derivado. Se establece normalmente cuando se llama a WriteTo(BinaryWriter, Byte[]).

(Heredado de ClaimsIdentity)
IsAuthenticated

Obtiene un valor que indica si la autenticación se ha realizado.

Label

Obtiene o establece la etiqueta para esta identidad de notificaciones.

(Heredado de ClaimsIdentity)
Name

Obtiene el nombre de usuario de la identidad de formularios.

NameClaimType

Obtiene el tipo de notificación que se usa para determinar qué notificaciones proporcionan el valor de la propiedad Name de esta identidad de notificación.

(Heredado de ClaimsIdentity)
RoleClaimType

Obtiene el tipo de notificación que se interpreta como rol de .NET entre las notificaciones en esta identidad de notificación.

(Heredado de ClaimsIdentity)
Ticket

Obtiene el objeto FormsAuthenticationTicket para la identidad de usuario de autenticación de formularios.

Métodos

AddClaim(Claim)

Agrega una sola reclamación a esta identidad de reclamaciones.

(Heredado de ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Agrega una lista de reclamaciones a esta identidad de reclamaciones.

(Heredado de ClaimsIdentity)
Clone()

Obtiene una copia de la instancia de FormsIdentity actual.

CreateClaim(BinaryReader)

Proporciona un punto de extensibilidad para tipos derivados para crear un Claim personalizado.

(Heredado de ClaimsIdentity)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
FindAll(Predicate<Claim>)

Recupera todas las notificaciones que coinciden con el predicado especificado.

(Heredado de ClaimsIdentity)
FindAll(String)

Recupera todas las notificaciones con el tipo de notificación especificado.

(Heredado de ClaimsIdentity)
FindFirst(Predicate<Claim>)

Recupera la primera reclamación con la que coincide el predicado especificado.

(Heredado de ClaimsIdentity)
FindFirst(String)

Recupera la primera reclamación con el tipo especificado.

(Heredado de ClaimsIdentity)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Rellena el objeto SerializationInfo con los datos necesarios para serializar el objeto ClaimsIdentity actual.

(Heredado de ClaimsIdentity)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
HasClaim(Predicate<Claim>)

Determina si esta identidad de notificaciones tiene una notificación que coincide con el predicado especificado.

(Heredado de ClaimsIdentity)
HasClaim(String, String)

Determina si esta identidad de notificaciones tiene una notificación con el tipo y el valor especificados.

(Heredado de ClaimsIdentity)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
RemoveClaim(Claim)

Se intenta quitar una reclamación de la identidad de reclamaciones.

(Heredado de ClaimsIdentity)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TryRemoveClaim(Claim)

Se intenta quitar una reclamación de la identidad de reclamaciones.

(Heredado de ClaimsIdentity)
WriteTo(BinaryWriter)

Se serializa usando un BinaryWriter.

(Heredado de ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Se serializa usando un BinaryWriter.

(Heredado de ClaimsIdentity)

Se aplica a

Consulte también