forms-Element für Authentifizierung (ASP.NET-Einstellungsschema)

Konfiguriert eine ASP.NET-Anwendung für die auf benutzerdefinierten Formularen basierende Authentifizierung.

<forms 
   name="name" 
   loginUrl="URL" 
   defaultUrl="URL"
   protection="[All|None|Encryption|Validation]"
   timeout="[MM]"
   path="path"
   requireSSL="[true|false]"
   slidingExpiration="[true|false]">
   enableCrossAppRedirects="[true|false]"
   cookieless="[UseUri|UseCookies|AutoDetect|UseDeviceProfile]" 
   domain="domain name"
   ticketCompatibilityMode="[Framework20|Framework40]">
   <credentials>...</credentials>
</forms>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.

Attribute

Attribute

Beschreibungen

cookieless

Optionales Attribut.

Definiert, ob Cookies verwendet werden, und legt ihr Verhalten fest.

Dieses Attribut kann einen der folgenden Werte annehmen.

HinweisHinweis
Verwenden Sie in AJAX-aktivierten ASP.NET-Websites den Standardwert UseCookies für das cookieless-Attribut.Andere Einstellungen, die in der URL codierte Cookies umfassen, werden von den ASP.NET-AJAX-Clientskriptbibliotheken nicht unterstützt.
ValueBeschreibungen
UseCookies Gibt an, dass Cookies unabhängig vom Gerät immer verwendet werden.
UseUri Gibt an, dass Cookies nie verwendet werden.
AutoDetect Gibt an, dass Cookies verwendet werden, wenn das Geräteprofil Cookies unterstützt. Andernfalls werden Cookies nicht verwendet.Bei Desktopbrowsern, die Cookies bekanntermaßen unterstützen, wird ein Überprüfungsmechanismus angewendet. Dieser versucht, Cookies zu verwenden, wenn diese aktiviert sind.Wenn ein Gerät Cookies nicht unterstützt, wird der Überprüfungsmechanismus nicht angewendet.
UseDeviceProfile Gibt an, dass Cookies verwendet werden, wenn der Browser Cookies unterstützt. Andernfalls werden Cookies nicht verwendet. Bei Geräten, die Cookies unterstützen, wird kein Versuch unternommen, durch Überprüfung den Aktivierungszustand der Cookieunterstützung zu bestimmen.

Dieses Attribut ist neu in .NET Framework, Version 2.0.

Die Standardeinstellung ist UseDeviceProfile..

defaultUrl

Optionales Attribut.

Definiert die Standard-URL, die für die Umleitung nach der Authentifizierung verwendet wird.

Dieses Attribut ist neu in .NET Framework, Version 2.0.

Der Standardwert ist "default.aspx".

domain

Optionales Attribut.

Gibt eine optionale Domäne an, die für ausgehende Formularauthentifizierungscookies verwendet wird. Diese Einstellung hat Vorrang gegenüber der im httpCookies-Element verwendeten Domäne.

Dieses Attribut ist neu in .NET Framework, Version 2.0.

Der Standardwert ist eine leere Zeichenfolge ("").

enableCrossAppRedirects

Optionales Attribut.

Gibt an, ob authentifizierte Benutzer zu URLs in anderen Webanwendungen umgeleitet werden.

HinweisHinweis
Bei der Ausführung von Umleitungen zwischen Anwendungen müssen Sie sicherstellen, dass verschiedene Attribute im forms-Element für Authentifizierung (ASP.NET-Einstellungsschema) zwischen den authentifizierten Anwendungen dupliziert werden.Weitere Informationen und ein Beispiel finden Sie unter Anwendungsübergreifende Formularauthentifizierung.

Dieses Attribut kann einen der folgenden Werte annehmen.

ValueBeschreibungen
True Gibt an, dass authentifizierte Benutzer zu URLs in anderen Webanwendungen umgeleitet werden können.
False Gibt an, dass authentifizierte Benutzer nicht zu URLs in anderen Webanwendungen umgeleitet werden können.

Dieses Attribut ist neu in .NET Framework, Version 2.0.

Der Standardwert ist False.

loginUrl

Optionales Attribut.

Gibt die URL an, an die die Anforderung zur Anmeldung umgeleitet wird, wenn kein gültiges Authentifizierungscookie gefunden wird.

Der Standardwert ist login.aspx.

name

Optionales Attribut.

Gibt das für die Authentifizierung zu verwendende HTTP-Cookie an. Wenn auf einem Server mehrere Anwendungen ausgeführt werden und für jede Anwendung ein eindeutiges Cookie erforderlich ist, müssen die Cookienamen jeweils in der Datei Web.config für jede Anwendung konfiguriert werden.

Der Standardwert ist ".ASPXAUTH".

path

Optionales Attribut.

Gibt den Pfad für die von der Anwendung ausgegebenen Cookies an.

Der Standardwert ist ein Schrägstrich (/), da bei den meisten Browsern die Groß- und Kleinschreibung beachtet werden muss und Cookies nicht zurückgesendet werden, wenn die Groß- und Kleinschreibung eines Buchstabens in der Pfadangabe nicht übereinstimmt.

protection

Optionales Attribut.

Gibt den für Cookies verwendeten Verschlüsselungstyp an (falls vorhanden).

Dieses Attribut kann einen der folgenden Werte annehmen.

ValueBeschreibungen
All Gibt an, dass die Anwendung zum Schutz des Cookies sowohl eine Datenvalidierung als auch Verschlüsselung verwendet.Diese Option verwendet den konfigurierten Datenvalidierungsalgorithmus, der auf dem machineKey-Element basiert.Für die Verschlüsselung wird Triple-DES (3DES) verwendet, sofern dieser Verschlüsselungstyp verfügbar ist und die Schlüssellänge ausreicht (mindestens 48 Bytes).All ist der Standardwert und der empfohlene Wert.
Encryption Gibt an, dass das Cookie mit 3DES oder DES verschlüsselt wird, jedoch keine Datenvalidierung für das Cookie durchgeführt wird.Cookies, die auf diese Weise verwendet werden, sind möglicherweise anfällig für bestimmte Sicherheitsangriffe mit Klartext.
None Gibt an, dass sowohl Verschlüsselung als auch Validierung bei Sites deaktiviert sind, die Cookies nur zur Personalisierung verwenden und weniger strenge Sicherheitsanforderungen stellen.Cookies sollten nicht auf diese Weise verwendet werden. Allerdings ist dies das am wenigsten ressourcenintensive Verfahren, um die Personalisierung in .NET Framework zu realisieren.
Validation Gibt an, dass mithilfe eines Validierungsschemas sichergestellt wird, dass der Inhalt eines verschlüsselten Cookies während der Übertragung nicht geändert wurde.Das Cookie wird mithilfe der Cookievalidierung erstellt, indem ein Validierungsschlüssel mit den Cookiedaten verkettet und ein Nachrichtenauthentifizierungscode (MAC, Message Authentication Code) berechnet wird, der an das ausgehende Cookie angefügt wird.

Der Standardwert ist All.

requireSSL

Optionales Attribut.

Gibt an, ob zur Übertragung des Authentifizierungscookies eine SSL-Verbindung erforderlich ist.

Dieses Attribut kann einen der folgenden Werte annehmen.

ValueBeschreibungen
True Gibt an, dass eine SSL-Verbindung erforderlich ist, um die Anmeldeinformationen des Benutzers zu schützen.Wenn dieser Wert auf True festgelegt ist, legt ASP.NET die Secure-Eigenschaft für das Authentifizierungscookie fest. Ein kompatibler Browser gibt das Cookie nur dann zurück, wenn die Verbindung SSL verwendet.
False Gibt an, dass zur Übertragung des Cookies keine SSL-Verbindung erforderlich ist.Der Standardwert ist False.

Der Standardwert ist False.

slidingExpiration

Optionales Attribut.

Gibt an, ob die gleitende Ablaufzeit aktiviert ist. Bei variablem Ablauf wird die Ablaufzeit eines aktiven Authentifizierungscookies bei jeder Anforderung während einer einzelnen Sitzung zurückgesetzt.

Dieses Attribut kann einen der folgenden Werte annehmen.

ValueBeschreibungen
True Gibt an, dass die gleitende Ablaufzeit aktiviert ist.Das Authentifizierungscookie wird aktualisiert, und die Ablaufzeit eines aktiven Authentifizierungscookies wird bei nachfolgenden Anforderungen während einer einzelnen Sitzung zurückgesetzt.
False Gibt an, dass der variable Ablauf deaktiviert ist, und dass das Cookie nach dem festgelegten Intervall nach der ursprünglichen Ausgabe des Cookies abläuft.

Die Standardeinstellung ist True.

ticketCompatibilityMode

Optionales Attribut.

Gibt an, ob bei der Formularauthentifizierung die Coordinated Universal Time (UTC) oder die Ortszeit für das Ticketablaufdatum verwendet werden soll.

Dieses Attribut kann einen der folgenden Werte ANNEHMEN.

ValueBeschreibungen
Framework20 Gibt an, dass das Ticketablaufdatum mit der Ortszeit gespeichert wird.
Framework40 Gibt an, dass das Ticketablaufdatum mit UTC gespeichert wird.

Der Standardwert ist Framework20.

timeout

Optionales Attribut.

Gibt in Form eines ganzzahligen Werts die Zeitdauer in Minuten an, nach der das Cookie abläuft. Wenn das SlidingExpiration-Attribut auf true festgelegt ist, hat das timeout-Attribut einen gleitenden Wert, sodass die Gültigkeit nach der angegebenen Anzahl von Minuten nach dem Empfang der letzten Anforderung abläuft. Um Leistungseinschränkungen vorzubeugen und zu verhindern, dass Benutzern, die die Ausgabe von Cookiewarnungen aktiviert haben, verschiedene Browserwarnungen angezeigt werden, wird das Cookie aktualisiert, nachdem mehr als die Hälfte der angegebenen Zeit abgelaufen ist. Dies kann zu einer verringerten Genauigkeit führen. Der Standardwert beträgt "30" (30 Minuten).

HinweisHinweis
Unter ASP.NET 1.1 erfolgt für beständige Cookies kein Timeout, und zwar unabhängig von der Einstellung des Timeout-Attributs.Ab ASP.NET 2.0 hingegen erfolgt für beständige Cookies ein Timeout, je nach Timeout-Attribut.

Untergeordnete Elemente

Untertag

Beschreibungen

credentials

Ermöglicht die optionale Definition von Anmeldeinformationen (Name und Kennwort) in der Konfigurationsdatei. Sie können auch ein benutzerdefiniertes Kennwortschema implementieren, um mithilfe einer externen Quelle (z. B. einer Datenbank) die Validierung zu steuern.

Übergeordnete Elemente

Element

Beschreibungen

configuration

Gibt das erforderliche Stammelement in jeder Konfigurationsdatei an, die von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird.

system.web

Gibt das Stammelement für die ASP.NET-Konfigurationseinstellungen in einer Konfigurationsdatei an und enthält Konfigurationselemente, die ASP.NET-Webanwendungen konfigurieren und das Verhalten der Anwendungen steuern.

authentication

Konfiguriert das ASP.NET-Authentifizierungsschema, das zur Identifizierung von Benutzern dient, die sich eine ASP.NET-Anwendung anzeigen lassen.

Hinweise

Das forms-Element konfiguriert eine ASP.NET-Anwendung für die benutzerdefinierte Formularauthentifizierung. Beim Ausführen mehrerer Anwendungen auf einem einzigen Server müssen die Attribute des forms-Elements in der Web.config-Datei jeder Anwendung konfiguriert werden. Weitere Informationen finden Sie unter Anwendungsübergreifende Formularauthentifizierung.

Es kann vorkommen, dass Sie beim Senden des Formularauthentifizierungstickets im URI möglicherweise die maximale Größe des URI überschreiten. Wenn die Kombination aus dem Ticket für anonyme Identifikation, dem Formularauthentifizierungsticket, der Sitzungs-ID und den Benutzerdaten die maximal zulässige URI-Länge überschreitet, schlägt die Anforderung fehl (mit der Fehlermeldung 400 - Ungültige Anforderung).

Standardkonfiguration

Das folgende forms-Standardelement wird nicht explizit in der Datei Machine.config oder der Stammdatei Web.config konfiguriert. Es ist aber die Standardkonfiguration, die von der Anwendung in .NET Framework, Version 2.0, zurückgegeben wird.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   defaultUrl="default.aspx" 
   protection="All" 
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true" 
   cookieless="UseDeviceProfile" domain="" 
   enableCrossAppRedirects="false">
   <credentials passwordFormat="SHA1" />
</forms>

Das folgende forms-Standardelement wird in der Datei Machine.config von .NET Framework, Version 1.1, konfiguriert.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true">
   <credentials passwordFormat="SHA1"></credentials>
</forms>

Das folgende forms-Standardelement wird in der Datei Machine.config von .NET Framework, Version 1.0, konfiguriert.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" >
   <credentials passwordFormat="SHA1"></credentials>
</forms>

Beispiel

Das folgende Codebeispiel zeigt, wie eine Site für die Formularauthentifizierung konfiguriert und der Name des Cookies, das die Anmeldeinformationen vom Client überträgt, angegeben wird. Weiterhin wird veranschaulicht, wie Sie den Namen der Anmeldeseite festgelegen, die beim Fehlschlagen der ersten Authentifizierung verwendet werden soll.

<configuration>
   <system.web>
   <authentication mode="Forms">
      <forms 
      name="401kApp" 
      loginUrl="/login.aspx"
      cookieless="AutoDetect"
      defaultUrl="myCustomLogin.aspx">
      <credentials passwordFormat = "SHA1">   
         <user name="UserName" 
         password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
      </credentials>   
      </forms>
   </authentication>
   </system.web>
</configuration>

Elementinformationen

Konfigurationsabschnittshandler

AuthenticationSection

Konfigurationsmember

FormsAuthentication

FormsAuthenticationConfiguration

Konfigurierbare Speicherorte

Machine.config

Web.config auf der Stammebene

Web.config auf der Anwendungsebene

Anforderungen

Microsoft Internetinformationsdienste (IIS), Version 5.0, 5.1 oder 6.0

.NET Framework, Version 1.0, 1.1 oder 2.0

Microsoft Visual Studio 2003 oder Visual Studio 2005

Siehe auch

Aufgaben

Gewusst wie: Konfigurieren von bestimmten Verzeichnissen mit Standorteinstellungen

Gewusst wie: Sperren von ASP.NET-Konfigurationseinstellungen

Referenz

authentication-Element (ASP.NET-Einstellungsschema)

credentials-Element für Formulare für die Authentifizierung (ASP.NET-Einstellungsschema)

system.web-Element (ASP.NET-Einstellungsschema)

passport-Element für authentication (ASP.NET-Einstellungsschema)

configuration-Element (allgemeines Einstellungsschema)

System.Configuration

System.Web.Configuration

AuthenticationSection

FormsAuthentication

Konzepte

Anwendungsübergreifende Formularauthentifizierung

ASP.NET-Konfigurationsdateihierarchie und Vererbung

Absichern der ASP.NET-Konfiguration

ASP.NET-Konfigurationsszenarios

Weitere Ressourcen

Authentifizierung in ASP.NET

Allgemeine Konfigurationseinstellungen (ASP.NET)

ASP.NET-Konfigurationseinstellungen

ASP.NET-Websiteverwaltung

ASP.NET-Konfigurationsdateien

ASP.NET-Konfigurations-API