FormsIdentity Classe

Definição

Representa uma identidade de utilizador autenticada usando autenticação de formulários. Esta classe não pode ser herdada.

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
Herança
FormsIdentity
Herança
FormsIdentity
Atributos
Implementações

Exemplos

O exemplo de código seguinte gera um FormsAuthenticationTicket e depois usa-o para criar uma instância da FormsIdentity classe, com base no facto de o utilizador fornecer o nome de utilizador e a palavra-passe corretos no formulário.

<%@ 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>

Observações

A FormsIdentity classe é usada quando FormsAuthenticationModule um utilizador é autenticado com autenticação de formulários. Uma instância da FormsIdentity classe é criada usando o FormsAuthenticationTicket que é desencriptada a partir do cookie de autenticação de formulários ou do URL. A nova instância da FormsIdentity classe é usada para construir um novo GenericPrincipal objeto que é definido como o valor da User propriedade para o atual HttpContext.

Construtores

Name Description
FormsIdentity(FormsAuthenticationTicket)

Inicializa uma nova instância da FormsIdentity classe.

FormsIdentity(FormsIdentity)

Inicializa uma nova instância da FormsIdentity classe com base na identidade especificada.

Campos

Name Description
DefaultIssuer

O emissor padrão; "AUTORIDADE LOCAL".

(Herdado de ClaimsIdentity)
DefaultNameClaimType

O tipo padrão de reivindicação do nome; Name.

(Herdado de ClaimsIdentity)
DefaultRoleClaimType

O tipo padrão de reivindicação de papel; Role.

(Herdado de ClaimsIdentity)

Propriedades

Name Description
Actor

Obtém ou define a identidade da parte chamante que recebeu direitos de delegação.

(Herdado de ClaimsIdentity)
AuthenticationType

Obtém o tipo de identidade autenticada.

BootstrapContext

Obtém ou define o token que foi usado para criar a identidade desta reivindicação.

(Herdado de ClaimsIdentity)
Claims

Obtém a coleção de reivindicações associadas a esta identidade.

CustomSerializationData

Contém quaisquer dados adicionais fornecidos por um tipo derivado. Normalmente definido ao chamar WriteTo(BinaryWriter, Byte[]).

(Herdado de ClaimsIdentity)
IsAuthenticated

Recebe um valor que indica se a autenticação ocorreu.

Label

Obtém ou define o rótulo para a identidade desta alegação.

(Herdado de ClaimsIdentity)
Name

Obtém o nome de utilizador da identidade do formulário.

NameClaimType

Obtém o tipo de reivindicação que é usado para determinar quais as reivindicações que fornecem o valor da Name propriedade da identidade dessa reivindicação.

(Herdado de ClaimsIdentity)
RoleClaimType

Obtém o tipo de reivindicação que será interpretado como um papel .NET entre as reivindicações na identidade dessa reivindicação.

(Herdado de ClaimsIdentity)
Ticket

Obtém o FormsAuthenticationTicket para a autenticação de formulários identidade de utilizador.

Métodos

Name Description
AddClaim(Claim)

Acrescenta uma única reivindicação à identidade desta reivindicação.

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

Adiciona uma lista de reivindicações à identidade desta reivindicação.

(Herdado de ClaimsIdentity)
Clone()

Recebe uma cópia da instância atual FormsIdentity .

CreateClaim(BinaryReader)

Fornece um ponto de extensibilidade para tipos derivados criarem um .Claim

(Herdado de ClaimsIdentity)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

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

Recupera todas as reivindicações que são correspondidas pelo predicado especificado.

(Herdado de ClaimsIdentity)
FindAll(String)

Recupera todas as reivindicações que tenham o tipo de reivindicação especificado.

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

Recupera a primeira afirmação que é correspondida pelo predicado especificado.

(Herdado de ClaimsIdentity)
FindFirst(String)

Recupera a primeira reivindicação com o tipo especificado.

(Herdado de ClaimsIdentity)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Preenche os SerializationInfo dados necessários para serializar o objeto atual ClaimsIdentity .

(Herdado de ClaimsIdentity)
GetType()

Obtém o Type da instância atual.

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

Determina se a identidade desta reivindicação tem uma reivindicação que é correspondida ao predicado especificado.

(Herdado de ClaimsIdentity)
HasClaim(String, String)

Determina se a identidade desta reivindicação tem uma reivindicação com o tipo e valor especificados.

(Herdado de ClaimsIdentity)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
RemoveClaim(Claim)

Tenta remover uma reivindicação da identidade da reclamação.

(Herdado de ClaimsIdentity)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TryRemoveClaim(Claim)

Tenta remover uma reivindicação da identidade da reclamação.

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

Serializa usando um BinaryWriter.

(Herdado de ClaimsIdentity)
WriteTo(BinaryWriter)

Serializa usando um BinaryWriter.

(Herdado de ClaimsIdentity)

Aplica-se a

Ver também