Partager via


FormsIdentity Classe

Définition

Représente une identité utilisateur authentifiée à l'aide de l'authentification par formulaire. Cette classe ne peut pas être héritée.

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
Héritage
FormsIdentity
Héritage
FormsIdentity
Attributs
Implémente

Exemples

L’exemple de code suivant génère un FormsAuthenticationTicket , puis l’utilise pour créer une instance de la FormsIdentity classe , selon que l’utilisateur fournit ou non le nom d’utilisateur et le mot de passe corrects sur le formulaire.

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

Remarques

La FormsIdentity classe est utilisée par quand un utilisateur est authentifié avec l’authentification FormsAuthenticationModule par formulaire. Une instance de la classe est créée à l’aide FormsIdentity du FormsAuthenticationTicket qui est déchiffré à partir du cookie d’authentification par formulaire ou de l’URL. La nouvelle instance de la FormsIdentity classe est utilisée pour construire un nouvel GenericPrincipal objet qui est défini comme valeur de la User propriété pour le actuel HttpContext.

Constructeurs

FormsIdentity(FormsAuthenticationTicket)

Initialise une nouvelle instance de la classe FormsIdentity.

FormsIdentity(FormsIdentity)

Initialise une nouvelle instance de la classe FormsIdentity en fonction de l'identité spécifiée.

Champs

DefaultIssuer

Émetteur par défaut ; « LOCAL AUTHORITY ».

(Hérité de ClaimsIdentity)
DefaultNameClaimType

Type de revendication de nom par défaut ; Name.

(Hérité de ClaimsIdentity)
DefaultRoleClaimType

Type de revendication de rôle par défaut ; Role.

(Hérité de ClaimsIdentity)

Propriétés

Actor

Obtient ou définit l'identité de la partie appelante s'est vue accordée des droits de délégation.

(Hérité de ClaimsIdentity)
AuthenticationType

Obtient le type de l'identité authentifiée.

BootstrapContext

Obtient ou définit le jeton qui a été utilisé pour créer cette identité basée sur les revendications.

(Hérité de ClaimsIdentity)
Claims

Obtient la collection des revendications associées à cette entité.

CustomSerializationData

Contient les données supplémentaires fournies par un type dérivé. En règle générale, définie au moment de l’appel de WriteTo(BinaryWriter, Byte[]).

(Hérité de ClaimsIdentity)
IsAuthenticated

Obtient une valeur qui indique si l'authentification a eu lieu ou non.

Label

Obtient ou définit l'étiquette de cette identité basée sur les revendications.

(Hérité de ClaimsIdentity)
Name

Obtient le nom d'utilisateur de l'identité d'authentification par formulaire.

NameClaimType

Obtient le type de revendication utilisé pour déterminer les revendications qui fournissent la valeur de la propriété Name de cette identité basée sur les revendications.

(Hérité de ClaimsIdentity)
RoleClaimType

Obtient le type de revendication qui est interprétée comme un rôle .NET entre les revendications dans cette identité basée sur les revendications.

(Hérité de ClaimsIdentity)
Ticket

Obtient le FormsAuthenticationTicket pour l'identité d'utilisateur authentifiée à l'aide de l'authentification par formulaire.

Méthodes

AddClaim(Claim)

Ajoute une revendication unique à cette identité des revendications.

(Hérité de ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Ajoute une liste de revendications à cette identité de revendications.

(Hérité de ClaimsIdentity)
Clone()

Obtient une copie de l'instance de FormsIdentity en cours.

CreateClaim(BinaryReader)

Fournit un point d’extensibilité pour les types dérivés afin de créer un Claim personnalisé.

(Hérité de ClaimsIdentity)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
FindAll(Predicate<Claim>)

Récupère toutes les revendications qui sont mises en correspondance par le prédicat spécifié.

(Hérité de ClaimsIdentity)
FindAll(String)

Récupère toutes les revendications qui ont le type de revendication spécifié.

(Hérité de ClaimsIdentity)
FindFirst(Predicate<Claim>)

Extrait la première revendication qui est mise en correspondance par le prédicat spécifié.

(Hérité de ClaimsIdentity)
FindFirst(String)

Extrait la première revendication avec le type de revendication spécifié.

(Hérité de ClaimsIdentity)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)

Renseigne des SerializationInfo avec les données nécessaires à la sérialisation de l'objet ClaimsIdentity actuel.

(Hérité de ClaimsIdentity)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
HasClaim(Predicate<Claim>)

Détermine si cette identité des revendications a une revendication qui est mise en correspondance par l'attribut spécifié.

(Hérité de ClaimsIdentity)
HasClaim(String, String)

Détermine si cette identité des revendications a une revendication avec le type et la valeur de revendication spécifiques.

(Hérité de ClaimsIdentity)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
RemoveClaim(Claim)

Tente de supprimer une revendication dans l'identité basée sur les revendications.

(Hérité de ClaimsIdentity)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TryRemoveClaim(Claim)

Tente de supprimer une revendication dans l'identité basée sur les revendications.

(Hérité de ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Sérialise à l’aide d’un BinaryWriter.

(Hérité de ClaimsIdentity)
WriteTo(BinaryWriter)

Sérialise à l’aide d’un BinaryWriter.

(Hérité de ClaimsIdentity)

S’applique à

Voir aussi