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.
Hinweis
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.
Hinweis
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).
Hinweis
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 |
|
Konfigurationsmember |
|
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)
Konzepte
Anwendungsübergreifende Formularauthentifizierung
ASP.NET-Konfigurationsdateihierarchie und Vererbung
Absichern der ASP.NET-Konfiguration
ASP.NET-Konfigurationsszenarios
Weitere Ressourcen
Allgemeine Konfigurationseinstellungen (ASP.NET)