Freigeben über


Anwendungsübergreifende Formularauthentifizierung

Aktualisiert: November 2007

ASP.NET unterstützt die Formularauthentifizierung in einer verteilten Umgebung. Diese Umgebung kann aus mehreren Anwendungen entweder auf einem Server oder in einer Webfarm bestehen. Wenn die Formularauthentifzierung über mehrere ASP.NET-Anwendungen hinweg aktiviert ist, müssen sich die Benutzer beim Wechseln zwischen den Anwendungen nicht jedes Mal neu authentifizieren.

Konfigurieren der anwendungsübergreifenden Formularauthentifizierung

Um anwendungsübergreifende Formularauthentifizierung zu konfigurieren, werden die Attribute der Abschnitte forms und machineKey in der Datei Web.config für alle Anwendungen, die an der gemeinsamen Formularauthentifizierung teilnehmen, auf dieselben Werte festgelegt.

Das folgende Beispiel zeigt den Abschnitt Authentication der Datei Web.config. Sofern nicht anders angegeben, müssen die Attribute name, protection, path, validationKey, validation, decryptionKey und decryption für alle Anwendungen identisch sein. Ebenso müssen Verschlüsselungs- und Validierungsschlüsselwerte, sowie Verschlüsselungs- und Validierungsschemas für die Authentifizierungstickets (Cookiedaten) identisch sein. Wenn diese Einstellungen nicht übereinstimmen, können Authentifizierungstickets nicht gemeinsam verwendet werden.

Hinweis:

Anwendungen für ASP.NET Version 2.0 oder höher können Formularauthentifizierungstickets mit früheren Versionen von ASP.NET gemeinsam verwenden, wenn decryption="3DES" im machineKey-Element jeder ASP.NET Version 2.0 (oder höher)-Anwendung hinzugefügt wird.

<configuration>
  <system.web>
    <authentication mode="Forms" >
      <!-- The name, protection, and path attributes must match 
           exactly in each Web.config file. -->
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" 
        protection="All"  
        path="/" 
        timeout="30" />
    </authentication>

    <!-- Validation and decryption keys must exactly match and cannot
         be set to "AutoGenerate". The validation and decryption
         algorithms must also be the same. -->
    <machineKey
      validationKey="[your key here]" 
      decryptionKey="[your key here]" 
      validation="SHA1" />
  </system.web>
</configuration>

Nach der Ausgabe eines Authentifizierungstickets (Cookie) wird die Gültigkeitsdauer des Cookies auf Grundlage des im Cookie selbst enthaltenen Expires-Werts überwacht. Wenn zwei Anwendungen abweichende Timeout-Attribute haben, werden Ablaufdatum und ursprünglicher Timestamp über die Lebensdauer des jeweiligen Cookies beibehalten. Bei der Aktualisierung eines Cookies wird die ursprüngliche Ablaufzeit zur Berechnung der neuen Ablaufzeit verwendet. Der Timeout-Wert der Konfiguration wird nur bei der ersten Erstellung des Cookies verwendet.

Formularauthentifizierung und der Authentifizierungsdienst

Sie können Benutzer auch anwendungsübergreifend authentifizieren, indem Sie den Authentifizierungsdienst verwenden. Der Authentifizierungsdienst ermöglicht die Verwendung der Formularauthentifizierung aus jeder Anwendung, die Nachrichten im SOAP-Format senden und verarbeiten kann. Weitere Informationen finden Sie unter Übersicht über den Windows Communication Foundation-Authentifizierungsdienst.

Siehe auch

Aufgaben

Gewusst wie: Implementieren der einfachen Formularauthentifizierung

Weitere Ressourcen

Sicherheit für ASP.NET-Webanwendungen