FormsIdentity Klas

Definitie

Vertegenwoordigt een gebruikersidentiteit die is geverifieerd met behulp van formulierverificatie. Deze klasse kan niet worden overgenomen.

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
Overname
FormsIdentity
Overname
FormsIdentity
Kenmerken
Implementeringen

Voorbeelden

In het volgende codevoorbeeld wordt een FormsAuthenticationTicket exemplaar van de klasse gegenereerd en vervolgens gebruikt om een exemplaar van de FormsIdentity klasse te maken, op basis van of de gebruiker de juiste gebruikersnaam en het juiste wachtwoord op het formulier opgeeft.

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

Opmerkingen

De FormsIdentity klasse wordt gebruikt door het FormsAuthenticationModule moment waarop een gebruiker wordt geverifieerd met formulierverificatie. Er wordt een exemplaar van de FormsIdentity klasse gemaakt met behulp van de FormsAuthenticationTicket gegevens die worden ontsleuteld vanuit de cookie voor formulierverificatie of vanuit de URL. Het nieuwe exemplaar van de FormsIdentity klasse wordt gebruikt om een nieuw GenericPrincipal object te maken dat is ingesteld als de waarde van de User eigenschap voor de huidige HttpContext.

Constructors

Name Description
FormsIdentity(FormsAuthenticationTicket)

Initialiseert een nieuw exemplaar van de FormsIdentity klasse.

FormsIdentity(FormsIdentity)

Initialiseert een nieuw exemplaar van de FormsIdentity klasse op basis van de opgegeven identiteit.

Velden

Name Description
DefaultIssuer

De standaarduitgever; "LOKALE AUTORITEIT".

(Overgenomen van ClaimsIdentity)
DefaultNameClaimType

Het claimtype standaardnaam; Name.

(Overgenomen van ClaimsIdentity)
DefaultRoleClaimType

Het claimtype standaardrol; Role.

(Overgenomen van ClaimsIdentity)

Eigenschappen

Name Description
Actor

Hiermee wordt de identiteit opgehaald of ingesteld van de aanroepende partij waaraan delegeringsrechten zijn verleend.

(Overgenomen van ClaimsIdentity)
AuthenticationType

Hiermee haalt u het type geverifieerde identiteit op.

BootstrapContext

Hiermee wordt het token opgehaald of ingesteld dat is gebruikt om deze claimidentiteit te maken.

(Overgenomen van ClaimsIdentity)
Claims

Hiermee haalt u de verzameling claims op die aan deze identiteit zijn gekoppeld.

CustomSerializationData

Bevat eventuele aanvullende gegevens die worden geleverd door een afgeleid type. Meestal ingesteld bij het aanroepen WriteTo(BinaryWriter, Byte[]).

(Overgenomen van ClaimsIdentity)
IsAuthenticated

Hiermee wordt een waarde opgehaald die aangeeft of verificatie heeft plaatsgevonden.

Label

Hiermee wordt het label voor deze claimidentiteit ophaalt of ingesteld.

(Overgenomen van ClaimsIdentity)
Name

Hiermee haalt u de gebruikersnaam van de formulieridentiteit op.

NameClaimType

Hiermee wordt het claimtype opgehaald dat wordt gebruikt om te bepalen welke claims de waarde voor de Name eigenschap van deze claimidentiteit bieden.

(Overgenomen van ClaimsIdentity)
RoleClaimType

Hiermee wordt het claimtype opgehaald dat wordt geïnterpreteerd als een .NET rol van de claims in deze claimidentiteit.

(Overgenomen van ClaimsIdentity)
Ticket

Hiermee haalt u de FormsAuthenticationTicket identiteit van de gebruiker voor formulierverificatie op.

Methoden

Name Description
AddClaim(Claim)

Voegt één claim toe aan deze claimidentiteit.

(Overgenomen van ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Hiermee voegt u een lijst met claims toe aan deze claimidentiteit.

(Overgenomen van ClaimsIdentity)
Clone()

Hiermee haalt u een kopie van het huidige FormsIdentity exemplaar op.

CreateClaim(BinaryReader)

Biedt een uitbreidbaarheidspunt voor afgeleide typen om een aangepaste Claimte maken.

(Overgenomen van ClaimsIdentity)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
FindAll(Predicate<Claim>)

Hiermee worden alle claims opgehaald die overeenkomen met het opgegeven predicaat.

(Overgenomen van ClaimsIdentity)
FindAll(String)

Hiermee worden alle claims opgehaald met het opgegeven claimtype.

(Overgenomen van ClaimsIdentity)
FindFirst(Predicate<Claim>)

Haalt de eerste claim op die overeenkomt met het opgegeven predicaat.

(Overgenomen van ClaimsIdentity)
FindFirst(String)

Haalt de eerste claim op met het opgegeven claimtype.

(Overgenomen van ClaimsIdentity)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetObjectData(SerializationInfo, StreamingContext)

Hiermee worden de SerializationInfo gegevens gevuld die nodig zijn om het huidige ClaimsIdentity object te serialiseren.

(Overgenomen van ClaimsIdentity)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
HasClaim(Predicate<Claim>)

Bepaalt of deze claimidentiteit een claim heeft die overeenkomt met het opgegeven predicaat.

(Overgenomen van ClaimsIdentity)
HasClaim(String, String)

Bepaalt of deze claimidentiteit een claim heeft met het opgegeven claimtype en de opgegeven waarde.

(Overgenomen van ClaimsIdentity)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
RemoveClaim(Claim)

Probeert een claim te verwijderen uit de claimidentiteit.

(Overgenomen van ClaimsIdentity)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
TryRemoveClaim(Claim)

Probeert een claim te verwijderen uit de claimidentiteit.

(Overgenomen van ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Serialiseert met behulp van een BinaryWriter.

(Overgenomen van ClaimsIdentity)
WriteTo(BinaryWriter)

Serialiseert met behulp van een BinaryWriter.

(Overgenomen van ClaimsIdentity)

Van toepassing op

Zie ook