Sdílet prostřednictvím


Dienstprogramme bei der Formularauthentifizierung

Aktualisiert: November 2007

Zum Verwalten der Formularauthentifizierung können Sie statische Methoden der FormsAuthentication-Klasse verwenden. Die entsprechenden Methoden sind in der folgenden Tabelle aufgelistet.

Methode

Beschreibung

Authenticate

Versucht, die Anmeldeinformationen aus dem konfigurierten Anmeldeinformationsspeicher anhand der angegebenen Anmeldeinformationen zu validieren.

Decrypt

Erfordert ein verschlüsseltes Authentifizierungsticket aus einem HTTP-Cookie. Gibt eine Instanz der FormsAuthenticationTicket-Klasse zurück.

Encrypt

Erfordert ein FormsAuthenticationTicket. Erzeugt eine Zeichenfolge mit einem verschlüsselten Authentifizierungsticket, das in einem HTTP-Cookie verwendet werden kann.

GetAuthCookie

Ruft ein verschlüsseltes Authentifizierungscookie als HttpCookie-Instanz ab. Das Cookie wird der Cookies-Auflistung nicht hinzugefügt.

GetRedirectUrl

Gibt den Umleitungs-URL der Anforderung zurück, die die Umleitung zur Anmeldeseite verursacht hat.

HashPasswordForStoringInConfigFile

Erfordert ein Kennwort und eine Zeichenfolge zur Identifikation des Hashtyps. Erzeugt ein Hashkennwort, das sich in einer Konfigurationsdatei speichern lässt.

Initialize

Initialisiert die FormsAuthentication-Klasse durch Lesen der Konfigurationseinstellungen und Abrufen der Cookie- und Verschlüsselungswerte der aktiven Anwendung.

RedirectFromLoginPage

Leitet einen authentifizierten Benutzer zum ursprünglich angeforderten URL um.

RenewTicketIfOld

Aktualisiert die gleitende Ablaufzeit für ein FormsAuthenticationTicket.

SetAuthCookie

Erstellt ein Authentifizierungsticket und fügt es an die Cookieauflistung der ausgehenden Antwort an.

SignOut

Entfernt das Authentifizierungsticket, indem für das Authentifizierungscookie oder den URL-Text ein leerer Wert festgelegt wird. Auf diese Weise werden sowohl permanente Cookies als auch Sitzungscookies gelöscht.

874sbx60.alert_caution(de-de,VS.90).gifWichtiger Hinweis:
Die SignOut-Methode entfernt zwar das Ticket aus der authentifizierten Browsersitzung, die Anwendung ist jedoch weiterhin für einen Wiederholungsangriff aus unerwünschter Quelle anfällig, bei dem per "Sniffing" ein Authentifizierungsticket ausspioniert wird. Informationen über einen Schutz vor Wiederholungsangriffen bei der Formularauthentifizierung finden Sie unter SignOut.

In der folgenden Tabelle sind nützliche Eigenschaften für die Verwaltung von Formularauthentifizierungstickets aufgeführt.

Eigenschaft

Beschreibung

FormsCookieName

Ruft den Cookienamen der aktiven Anwendung ab.

FormsCookiePath

Ruft den Cookiepfad der aktiven Anwendung ab.

CookiesSupported

Ruft einen Wert ab, der angibt, ob die Anwendung für die Formularauthentifizierung ohne Cookies konfiguriert ist.

CookieMode

Ruft einen Wert ab, der angibt, ob die Anwendung für die Formularauthentifizierung ohne Cookies konfiguriert ist.

CookieDomain

Ruft den Wert der Domäne des Formularauthentifizierungscookies ab.

DefaultUrl

Ruft den URL ab, auf den von der Formularauthentifizierung umgeleitet wird, wenn kein Umleitungs-URL angegeben wurde.

LoginUrl

Ruft den URL der Anmeldeseite ab, auf die von der Formularauthentifizierung umgeleitet wird.

RequireSSL

Ruft einen Wert ab, der angibt, ob Cookies mit Secure Sockets Layer (SSL) übermittelt werden müssen.

SlidingExpiration

Ruft einen Wert ab, der angibt, ob die gleitende Ablaufzeit aktiviert ist.

EnableCrossAppRedirects

Ruft einen Wert an, der angibt, ob authentifizierte Benutzer zu URLs in anderen Webanwendungen umgeleitet werden können, wenn das Formularauthentifizierungsticket nicht in einem Cookie gespeichert ist.

Sie können die Methoden der FormsAuthentication-Klasse verwenden, um die Formularauthentifizierung anzupassen. Sie können diese Methoden auch im Handler für die Anmeldeseite verwenden, um nicht explizit Code für die Umleitung schreiben zu müssen. Das folgende Codebeispiel zeigt eine ASP.NET-Webseite, die den Benutzer authentifiziert und ihn zur angeforderten Seite umleitet.

<html>
<head>
<script language="VB" runat=server>
    Sub SubmitBtn_Click(Source As Object, e As EventArgs)
        ' Try to authenticate credentials supplied by user.
        If FormsAuthentication.Authenticate _
                (UserName.Value, UserPassword.Value) Then
            Dim ticket As New FormsAuthenticationTicket _
                (UserName.Value, False, 5000)
            FormsAuthentication.RedirectFromLoginPage _
                (UserName.Value, Persist.Checked)
        End If
    End Sub
</script>
</head>

<body>
<form method=post runat=server>
    <table>
        <tr>
            <td>Name:</td>
            <td><input type="text" id="UserName" runat=server/>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input type="password" id="UserPassword" runat=server/>
            </td>
        </tr>
    </table>
    <input type="checkbox" id="Persist" runat=server/>
    <!-- Use persistent cookie -->
    <br>
    <input type="submit" OnServerClick="SubmitBtn_Click" runat=server/>
</form>
</body>
</html>
<html>
<head>
<script language="C#" runat=server>
    void SubmitBtn_Click(Object Source, EventArgs e)
    {
        // Try to authenticate credentials supplied by user.
        if (FormsAuthentication.Authenticate(UserName.Value, 
                UserPassword.Value))
        {
            FormsAuthenticationTicket ticket = new 
                FormsAuthenticationTicket(UserName.Value, false, 5000);
                  
            FormsAuthentication.RedirectFromLoginPage(UserName.Value,
                Persist.Checked);
        }
    }
</script>
</head>

<body>

<form method=post runat=server>
    <table>
        <tr>
            <td>Name:</td>
            <td><input type="text" id="UserName" runat=server/></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input type="password" id="UserPassword" runat=server/>
            </td>
        </tr>
    </table>
    <input type="checkbox" id="Persist" runat=server/>
    <!-- Use persistent cookie. -->
    <br>
    <input type="submit" OnServerClick="SubmitBtn_Click" runat=server/>
</form>
</body>
</html>

Anwendungen, die auf eine genaue Kontrolle der HTTP-Cookie-Eigenschaften angewiesen sind, verwenden zum Erstellen des Tickets und zum Ausführen der Umleitung benutzerdefinierten Code. In diesem Fall sollten Sie zur Verschlüsselung des Authentifizierungstickets die Verschlüsselungsmethoden der FormsAuthentication-Klasse verwenden.

Siehe auch

Referenz

FormsAuthentication

FormsAuthenticationTicket

HttpCookie

Weitere Ressourcen

Sicherheit für ASP.NET-Webanwendungen

Formularauthentifizierungsanbieter