Freigeben über


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

Aktualisiert: November 2007

Konfiguriert eine ASP.NET-Anwendung für die benutzerdefinierte Formularauthentifizierung.

configuration-Element (allgemeines Einstellungsschema)
  system.web-Element (ASP.NET-Einstellungsschema)
    authentication-Element (ASP.NET-Einstellungsschema)
      forms-Element für authentication (ASP.NET-Einstellungsschema)

<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|UseCookie|AutoDetect|UseDeviceProfile]" 
   domain="domain name">
   <credentials>...</credentials>
</forms>

Attribute und Elemente

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

Attribute

Attribut

Beschreibung

cookieless

Optionales Attribut.

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

Das Attribut kann einen der folgenden Werte annehmen.

Tipp

Beim Konfigurieren einer AJAX-fähigen ASP.NET-Website sollten Sie nur den Standardwert von UseCookies für das cookieless-Attribut verwenden. Andere Einstellungen, die URL-codierte Cookies verwenden, werden von den ASP.NET-AJAX-Clientskriptbibliotheken nicht unterstützt.

Wert

Beschreibung

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 den Standard-URL, der 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.

Tipp

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

Das Attribut kann einen der folgenden Werte annehmen.

Wert

Beschreibung

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 den URL an, an den 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).

Das Attribut kann einen der folgenden Werte annehmen.

Wert

Beschreibung

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. Triple-DES (3DES) wird für die Verschlüsselung verwendet, falls es verfügbar und der Schlüssel lang genug ist (48 Bytes oder länger). Der empfohlene Standardwert ist All.

Encryption

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.

None

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.

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.

Das Attribut kann einen der folgenden Werte annehmen.

Wert

Beschreibung

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.

Das Attribut kann einen der folgenden Werte annehmen.

Wert

Beschreibung

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.

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).

Tipp

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

Beschreibung

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

Beschreibung

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 in .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 in .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

Konzepte

Anwendungsübergreifende Formularauthentifizierung

ASP.NET-Konfigurationsdateihierarchie und Vererbung

Absichern der ASP.NET-Konfiguration

ASP.NET-Konfigurationsszenarios

Referenz

authentication-Element (ASP.NET-Einstellungsschema)

credentials-Element für forms für authentication (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

Weitere Ressourcen

Authentifizierung in ASP.NET

Allgemeine Konfigurationseinstellungen (ASP.NET)

ASP.NET-Konfigurationseinstellungen

Verwalten von ASP.NET-Websites

ASP.NET-Konfigurationsdateien

ASP.NET-Konfigurations-API