Grundlegendes zu Formularauthentifizierungsticket und Cookies

ASP.NET Support Voice-Kolumne

Grundlegendes zu Formularauthentifizierungsticket und Cookies

Diese Spalte an Ihre Bedürfnisse anpassen möchten Laden Sie Ihre Ideen zu Themen, die Sie interessieren und sollen Probleme in Zukunft Knowledge Base-Artikeln und Support Voice Spalten angesprochen. Sie können Ihre Ideen und ihr Feedback Bitten dafür Formular senden. Außerdem wird ein Link zu diesem Formular am Ende dieser Kolumne.

Einführung

Willkommen bei der Microsoft ASP.NET Support Voice-Kolumne! Ich bin Nilay B. Shah mit ASP.NET Developer Support-Team. Ich arbeite mit ASP.NET Support mehr als eineinhalb Jahren wurde. Die Formularauthentifizierung ist ein wirklich cooles Authentifizierungsfeature. Dieser Artikel behandelt Probleme, die Benutzer mit Formularauthentifizierung, wie die Beziehung des Formularauthentifizierungsticket und das Formularauthentifizierungscookie und deren Einstellungen gefunden haben. Ich möchte Jerry Orman, Technische Leiter für ASP.NET Support-Team für seine unglaubliche Hilfe!

Manche Leute fragen sich "Formularauthentifizierungstickets" und "Cookies", da sie eng miteinander verbunden. Ich habe über solche Fragen kommen: kann jemand die Differenz zwischen den Cookie und Ticket Ablaufzeit erklären? Wenn das Cookie abläuft, wird der Benutzer zur Anmeldeseite umgeleitet. Was geschieht, wenn das Ticket verfällt? Machen sie auch das Cookie abläuft? Was aktualisieren eigentlich SlidingUpdate?

Ich konzentriert sich auf diese beiden Aspekte der Formularauthentifizierung in diesem Artikel die folgenden Fragen beantworten:
  • Was ist Formularauthentifizierungsticket und Formularauthentifizierungscookie? Wie beziehen sie?
  • Was ist die Rolle eines Tickets Formularauthentifizierung?
  • Wie beziehen Cookies und Ablaufzeit Ticket?
  • Wie gleitende Ablaufzeit funktioniert im Kontext des Formularauthentifizierungsticket und Authentifizierungscookies ist?
  • Wo kann die Timeout-Eigenschaft des Formularauthentifizierungscookies und Formularauthentifizierungsticket festlegen?
  • Problem Szenario: die Formularauthentifizierung kann ein Timeout vor dem Timeout-Attribut, das in der Konfigurationsdatei festgelegt ist

Was ist Formularauthentifizierungsticket und Formularauthentifizierungscookie? Wie beziehen sie?

Formularauthentifizierungscookie ist der Container für Formularauthentifizierungsticket. Das Ticket wird als Wert für das Formularauthentifizierungscookie mit jeder Anforderung übergeben und von der Formularauthentifizierung auf dem Server zum Identifizieren eines authentifizierten Benutzers verwendet.

Wenn wir Formularauthentifizierung verwenden, wird das Ticket in der URL in einem verschlüsselten Format übergeben werden. Formularauthentifizierung verwendet, da manchmal die Browser Cookies blockieren. Dieses Feature wird in Microsoft.NET Framework 2.0 eingeführt.

Weitere Informationen finden Sie auf der folgenden Microsoft Developer Network (MSDN)-Website:

Was ist die Rolle eines Tickets Formularauthentifizierung?

Das Formularauthentifizierungsticket wird angewiesen, die Anwendung ASP.NET verwendet. Folglich ist Ticket Forms Authentication Sicherheit.

Das Ticket wird verschlüsselt und signiert mit < MachineKey > -Konfigurationselement der Datei Machine.config des Servers. ASP.NET 2.0 verwendet DecryptionKey und Entschlüsselung -Attributs des Elements < MachineKey > an Formularauthentifizierungstickets verschlüsseln. Das Entschlüsselungsattribut können Sie den zu verwendenden Verschlüsselungsalgorithmus angeben. ASP.NET 1.1 und 1.0 verwenden 3DES-Verschlüsselung, die kann nicht konfiguriert werden. Manipulation des Ticket-Werts kann entschlüsselt das Ticket auf dem Server bestimmt. Daher wird der Benutzer zur Anmeldeseite umgeleitet.


Wenn die Anwendung in einer Webfarm bereitgestellt wird, müssen Sie sicherstellen, dass die Konfigurationsdateien auf jedem Server den gleichen Wert für die ValidationKey und DecryptionKey Attribute im Tag < MachineKey > freigeben, zum hashing und entschlüsselt das Ticket verwendet werden. Dies ist erforderlich, da Sie nicht garantieren können, welcher Server die nachfolgende Anforderungen verarbeitet. Weitere Informationen über FormsAuthenticationTicket Verschlüsselung und Webfarm-Bereitstellung finden Sie auf der folgenden MSDN-Website:Spazieren Methoden Schlüssel manuell zu finden in folgenden Artikeln der Microsoft Knowledge Base:
312906 wie Schlüssel mithilfe von Visual C# .NET für Formularauthentifizierung

313091 wie Schlüssel mithilfe von Visual Basic .NET für Formularauthentifizierung

Formularauthentifizierungstickets können manuell mithilfe der FormsAuthenticationTicket -Klasse generiert werden. Weitere Informationen finden Sie auf der folgenden MSDN-Website:

Wie beziehen Cookies und Ablaufzeit Ticket?

Bei nicht persistent gespeicherten Cookies, wenn das Ticket abgelaufen, Cookie außerdem läuft und der Benutzer auf die Anmeldeseite umgeleitet. Auf der anderen Seite Wenn das Ticket als permanente gekennzeichnet ist, das Cookie auf dem Client gespeichert können Browser das gleiche Authentifizierungscookie Website jederzeit anmelden. Jedoch können wir die FormsAuthentication.SignOut -Methode zum permanenten löschen oder nicht persistent gespeicherte Cookies explizit verwenden.

Weitere Informationen über die FormsAuthentication.SignOut -Methode finden Sie auf der folgenden MSDN-Website:Mit Formularauthentifizierung, wenn der Browser geschlossen, das Ticket verloren geht und ein neues Ticket wird bei der nächsten Anforderung generiert werden.

Wie gleitende Ablaufzeit funktioniert im Kontext des Formularauthentifizierungsticket und Authentifizierungscookies ist?

Gleitende Ablaufzeit funktioniert genauso.

Ein Beispiel: Wenn auf die Logon-Seite um 5:00 zugegriffen wird, sollte sie um 5:10 00:00:00 Uhr ablaufen, wenn das Timeout -Attribut 10 und das Attribut SlidingExpiration auf TRUE festgelegt ist. Nun, wenn jeder Webseite erneut um 5:05 angezeigt wird 00:00:00 Uhr, Cookies und Timeouts 5:15 zurücksetzen 00:00:00 Uhr.

Hinweis Wenn die Webseite vor der Hälfte des Intervalls Ablauf zugegriffen wird, werden die Ablaufzeit Ticket nicht zurückgesetzt. Daher beispielsweise Zugriff auf jeder Webseite erneut um 5:04 00:00:00 Uhr, Cookies und Zeitlimit Ticket nicht zurückgesetzt.

Weitere Informationen finden Sie auf der folgenden MSDN-Website:

Wo kann der Timeoutwert Formularauthentifizierungscookies und des Formularauthentifizierungsticket festlegen?

In der Datei Web.config oder die Datei Machine.config < Forms > -Tag ist die einzige Einstellung, die Sie erstellen können. Diese Änderung bestimmt das Timeoutintervall der Formularauthentifizierung im Kontext eines Ticket oder Cookie, wenn das Ticket manuell erstellt wird.

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
Weitere Informationen finden Sie auf der folgenden MSDN-Website:Wenn das Ticket mit FormsAuthenticationTicket -Klasse manuell erstellt wird, kann das Timeout über das Ablaufdatum Attribut festgelegt werden. Dieser Wert überschreibt den Timeout -Attributwert in Konfigurationsdateien angegeben.

Weitere Informationen über FormsAuthenticationTicket Member finden Sie auf der folgenden MSDN-Website:

Problem Szenario: die Formularauthentifizierung kann ein Timeout vor dem Timeout-Attribut, das in der Konfigurationsdatei festgelegt ist

Wenn das Formularauthentifizierungsticket manuell erstellt wird, wird die Timeout-Eigenschaft des Tickets den Wert überschreiben, der in der Konfigurationsdatei festgelegt. Wenn dieser Wert kleiner als der Wert in der Konfigurationsdatei ist-Attributwert Authentifizierungsticket abläuft, bevor die Konfigurationsdatei Timeout Formulare und umgekehrt. Nehmen wir z. B. an < Forms >Timeout -Attribut in der Datei Web.config auf 30 festgelegt ist, den Wert für die Gültigkeitsdauer des Tickets auf 20 Minuten festgelegt. In diesem Fall das Formularauthentifizierungsticket läuft nach 20 Minuten und der Benutzer wieder anmelden muss.

Verwandte links

910439 Problembehandlung bei Formularauthentifizierung

891032 Behandlung von ASP.NET

301240 wie Formularauthentifizierung in Ihrer Anwendung ASP.NET implementiert, mit C# .NET

308157 zum formularbasierte Authentifizierung in Ihrer Anwendung ASP.NET mithilfe von Visual Basic .NET implementieren

Ich hoffe, diese Informationen beim Beschleunigung einige Verwirrung an Formularauthentifizierungstickets ASP.NET und Cookies gefunden. Beachten Sie, dass Support Voice-Spalten sind! Wie immer gerne Ideen zu Themen soll in Zukunft Spalten oder in der Microsoft Knowledge Base mit der
Bitten Sie für Form.
Eigenschaften

Artikelnummer: 910443 – Letzte Überarbeitung: 16.01.2017 – Revision: 1

Feedback