Teilen über


FormsIdentity Klasse

Definition

Stellt eine mit Formularauthentifizierung authentifizierte Benutzeridentität dar. Diese Klasse kann nicht vererbt werden.

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
Vererbung
FormsIdentity
Vererbung
FormsIdentity
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird ein FormsAuthenticationTicket generiert und anschließend verwendet, um eine Instanz der FormsIdentity -Klasse zu erstellen, basierend darauf, ob der Benutzer den richtigen Benutzernamen und das richtige Kennwort für das Formular bereitstellt.

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

Hinweise

Die FormsIdentity -Klasse wird von FormsAuthenticationModule verwendet, wenn ein Benutzer mit der Formularauthentifizierung authentifiziert wird. Eine Instanz der FormsIdentity -Klasse wird mithilfe von erstellt, die FormsAuthenticationTicket aus dem Formularauthentifizierungscookies oder aus der URL entschlüsselt wird. Die neue Instanz der FormsIdentity -Klasse wird verwendet, um ein neues GenericPrincipal -Objekt zu erstellen, das als Wert der User -Eigenschaft für die aktuelle HttpContextfestgelegt wird.

Konstruktoren

FormsIdentity(FormsAuthenticationTicket)

Initialisiert eine neue Instanz der FormsIdentity-Klasse.

FormsIdentity(FormsIdentity)

Initialisiert eine neue Instanz der FormsIdentity-Klasse auf Grundlage der angegebenen Identität

Felder

DefaultIssuer

Der Standardaussteller; "LOCAL AUTHORITY".

(Geerbt von ClaimsIdentity)
DefaultNameClaimType

Der Anspruchstyp für den Standardnamen; Name.

(Geerbt von ClaimsIdentity)
DefaultRoleClaimType

Der standardmäßige Rollenanspruchstyps; Role.

(Geerbt von ClaimsIdentity)

Eigenschaften

Actor

Ruft die Identität des Aufrufers ab, dem Übertragungsrechte erteilt wurden, oder legt diese fest.

(Geerbt von ClaimsIdentity)
AuthenticationType

Ruft den Typ der authentifizierten Identität ab.

BootstrapContext

Ruft das Token ab, das verwendet wurde, um diese Anspruchsidentität zu erstellen, oder legt dieses fest.

(Geerbt von ClaimsIdentity)
Claims

Ruft die Auflistung von Ansprüchen ab, die dieser Entität zugeordnet sind.

CustomSerializationData

Enthält alle zusätzlichen Daten, die von einem abgeleiteten Typ bereitgestellt werden. Wird in der Regel beim Aufrufen von WriteTo(BinaryWriter, Byte[]) festgelegt.

(Geerbt von ClaimsIdentity)
IsAuthenticated

Ruft einen Wert ab, der angibt, ob eine Authentifizierung stattgefunden hat.

Label

Ruft die Bezeichnung für diese Anspruchsidentität ab oder legt diese fest.

(Geerbt von ClaimsIdentity)
Name

Ruft den Benutzernamen der Formularidentität ab.

NameClaimType

Ruft den Anspruchstyp ab, der verwendet wird, um zu bestimmen, welche Ansprüche den Wert für die Name -Eigenschaft der Identität dieses Anspruchs bereitstellen.

(Geerbt von ClaimsIdentity)
RoleClaimType

Diese Eigenschaften ruft den Anspruchstyp ab, der als .NET-Rolle unter den Ansprüchen in dieser Anspruchsidentität interpretiert wird.

(Geerbt von ClaimsIdentity)
Ticket

Ruft das FormsAuthenticationTicket für die Benutzeridentität der Formularauthentifizierung ab.

Methoden

AddClaim(Claim)

Fügt einen einzelnen Anspruch dieser Anspruchsidentität hinzu.

(Geerbt von ClaimsIdentity)
AddClaims(IEnumerable<Claim>)

Fügt eine Liste von Ansprüchen dieser Anspruchsidentität hinzu.

(Geerbt von ClaimsIdentity)
Clone()

Ruft eine Kopie der aktuellen FormsIdentity-Instanz ab.

CreateClaim(BinaryReader)

Bietet einen Erweiterungspunkt für abgeleitete Typen, um einen benutzerdefinierten Claim zu erstellen.

(Geerbt von ClaimsIdentity)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
FindAll(Predicate<Claim>)

Ruft alle Ansprüche ab, die dem angegebenen Prädikat entsprechen.

(Geerbt von ClaimsIdentity)
FindAll(String)

Ruft alle Ansprüche ab, die über den angegebenen Anspruchstyp verfügen.

(Geerbt von ClaimsIdentity)
FindFirst(Predicate<Claim>)

Ruft den ersten Anspruch ab, der dem angegebenen Prädikat entspricht.

(Geerbt von ClaimsIdentity)
FindFirst(String)

Ruft den ersten Anspruch mit dem angegebenen Anspruchstyp ab.

(Geerbt von ClaimsIdentity)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Füllt das SerializationInfo-Objekt mit den für das Serialisieren des aktuellen ClaimsIdentity-Objekts erforderlichen Daten.

(Geerbt von ClaimsIdentity)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
HasClaim(Predicate<Claim>)

Bestimmt, ob diese Anspruchsidentität einen Anspruch besitzt, der durch das angegebene Prädikat erfüllt ist.

(Geerbt von ClaimsIdentity)
HasClaim(String, String)

Bestimmt, ob diese Anspruchsdentität einen Anspruch besitzt mit dem angegebenen Typ und dem angegebenen Wert.

(Geerbt von ClaimsIdentity)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
RemoveClaim(Claim)

Versucht, einen Anspruch aus der Anspruchsidentität zu entfernenden.

(Geerbt von ClaimsIdentity)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryRemoveClaim(Claim)

Versucht, einen Anspruch aus der Anspruchsidentität zu entfernenden.

(Geerbt von ClaimsIdentity)
WriteTo(BinaryWriter)

Serialisiert mithilfe von BinaryWriter.

(Geerbt von ClaimsIdentity)
WriteTo(BinaryWriter, Byte[])

Serialisiert mithilfe von BinaryWriter.

(Geerbt von ClaimsIdentity)

Gilt für:

Weitere Informationen