<forms>-Element
Konfiguriert eine ASP.NET-Anwendung für die auf benutzerdefinierten Formularen basierende Authentifizierung.
<configuration>
<system.web>
<authentication>
<forms>
<forms name="name" loginUrl="url"protection="All|None|Encryption|Validation"timeout="30" path="/" requireSSL="true|false" slidingExpiration="true|false"> <credentials passwordFormat="format"/></forms>
Optionale Attribute
Attribut | Option | Beschreibung |
---|---|---|
name | Gibt das für die Authentifizierung zu verwendende HTTP-Cookie an. Der Standardwert von name lautet .ASPXAUTH. Wenn auf einem Server verschiedene Anwendungen ausgeführt werden und für jede Anwendung ein eindeutiges Cookie erforderlich ist, müssen die Cookienamen jeweils in der Datei Web.config der einzelnen Anwendungen konfiguriert werden. | |
loginUrl | Gibt den URL an, an den die Anforderung zur Anmeldung umgeleitet wird, wenn kein gültiges Authentifizierungscookie gefunden wird. Der Standardwert lautet default.aspx. | |
protection | Gibt den für Cookies verwendeten Verschlüsselungstyp an (falls vorhanden). | |
All | Gibt an, dass die Anwendung zum Schutz des Cookies sowohl eine Datenüberprüfung als auch Verschlüsselung verwendet. Diese Option verwendet den konfigurierten Datenüberprüfungsalgorithmus (basierend auf dem <machineKey>-Element). Sofern verfügbar und sofern der Schlüssel lang genug ist (mindestens 48 Byte), wird für die Verschlüsselung Triple-DES (3DES) verwendet. Der Standardwert (und gleichzeitig der empfohlene Wert) lautet All. | |
None | Gibt an, dass sowohl Verschlüsselung als auch Überprüfung bei Sites deaktiviert sind, die Cookies nur zur Personalisierung verwenden und geringere Sicherheitsanforderungen stellen. Die Verwendung von Cookies auf diese Weise wird nicht empfohlen, stellt allerdings das am wenigsten ressourcenintensive Verfahren dar, um mit Hilfe von .NET Framework die Personalisierung zu ermöglichen. | |
Encryption | Gibt an, dass das Cookie mit Triple-DES oder DES verschlüsselt wird, jedoch keine Datenüberprüfung für das Cookie durchgeführt wird. Auf diese Weise verwendete Cookies können für Sicherheitsangriffe mit gewähltem Klartext anfällig sein. | |
Validation | Gibt an, dass mit Hilfe eines Überprüfungsschemas überprüft wird, ob der Inhalt eines verschlüsselten Cookies während der Übertragung geändert wurde. Das Cookie wird mit Hilfe der Cookieüberprüfung erstellt. Dafür wird ein Überprüfungsschlüssel mit den Cookiedaten verkettet, ein MAC (Message Authentication Code, Nachrichtenauthentifizierungscode) berechnet und dieser MAC an das ausgehende Cookie angefügt. | |
timeout | Gibt (in ganzen Minuten) an, nach wie viel Zeit die Gültigkeit des Cookies abgelaufen ist. Der Standardwert lautet 30. Wenn das SlidingExpiration-Attribut auf true festgelegt ist, ist das timeout-Attribut ein veränderlicher Wert und läuft ab, wenn seit dem Empfang der letzten Anforderung die angegebene Zeit verstrichen ist. 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 könnte zu einer verringerten Genauigkeit führen. Die Gültigkeit persistenter Cookies läuft nicht ab. | |
path | 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ß-/Kleinschreibung beachtet werden muss und Cookies nicht zurückgesendet werden, wenn die Groß-/Kleinschreibung eines Buchstabens in der Pfadangabe nicht übereinstimmt. | |
requireSSL | Gibt an, ob zur Übertragung des Authentifizierungscookies eine SSL-Verbindung erforderlich ist. | |
true | Gibt an, dass eine SSL-Verbindung erforderlich ist, um die Anmeldeinformationen des Benutzers zu schützen. Wenn true, legt ASP.NET für das Authentifizierungscookie HttpCookie.Secure fest. In diesem Fall sendet ein kompatibler Browser das Cookie nur dann zurück, wenn für die Verbindung Secure Sockets Layer (SSL) verwendet wird. | |
false | Gibt an, dass zur Übertragung des Cookies keine SSL-Verbindung erforderlich ist. Der Standardwert ist false. | |
slidingExpiration | Gibt an, ob die gleitende Ablaufzeit aktiviert ist. Bei der gleitenden Ablaufzeit wird die Ablaufzeit eines aktiven Authentifizierungscookies bei jeder Anforderung während einer einzelnen Sitzung zurückgesetzt. | |
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. Der Standardwert für Version 1.0 von ASP.NET war true. | |
false | Gibt an, dass die gleitende Ablaufzeit deaktiviert ist und dass das Cookie nach dem festgelegten Intervall nach der ursprünglichen Ausgabe des Cookies abläuft. Der Standardwert ist false. |
Untertag
Untertag | Beschreibung |
---|---|
<credentials> | Ermöglicht die Definition von Anmeldeinformationen (Name und Kennwort) innerhalb der Konfigurationsdatei. Sie können auch ein benutzerdefiniertes Kennwortschema implementieren, um mit Hilfe einer externen Quelle (z. B. einer Datenbank) die Gültigkeitsüberprüfung zu steuern. |
Hinweise
Wenn auf einem einzelnen Server mehrere Anwendungen ausgeführt werden, müssen die <forms>-Attribute in der Datei Web.config für jede Anwendung konfiguriert werden.
Beispiel
Im folgenden Beispiel wird eine Site für die Authentifizierung auf der Basis von Formularen konfiguriert, der Name des Cookies angegeben, das die Anmeldeinformationen vom Client überträgt, und es wird der Name der Anmeldeseite festgelegt, die verwendet werden soll, wenn die erste Authentifizierung nicht erfolgreich ist.
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="401kApp" loginUrl="/login.aspx">
<credentials passwordFormat = "SHA1"
<user name="UserName"
password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
</credentials>
</forms>
</authentication>
</system.web>
</configuration>
Anforderungen
Enthalten in: <system.web>
Webplattform: IIS 5.0, IIS 5.1, IIS 6.0
Konfigurationsdatei: Machine.config, Web.config
Konfigurationsabschnittshandler: System.Web.Configuration.AuthenticationConfigHandler
Siehe auch
<authentication>-Element | ASP.NET-Konfiguration | ASP.NET-Einstellungsschema