Freigeben über


Anmeldeinformationen bei der Formularauthentifizierung

Aktualisiert: November 2007

Anmeldeinformationen für die Formularauthentifizierung, die für die Validierung von Benutzern bei der Anmeldung verwendet werden, können in einer externen Datenquelle oder in der Anwendungskonfigurationsdatei gespeichert werden.

Hinweis:

Die ASP.NET-Mitgliedschaft ist die bevorzugte Methode für das Speichern und Verwalten von Benutzeranmeldeinformationen in Anwendungen mit Formularauthentifizierung. Weitere Informationen finden Sie unter Verwalten von Benutzern durch Mitgliedschaft.

Speichern von Benutzern in der Anwendungskonfigurationsdatei

Beim Verwenden der Formularauthentifizierung können Sie Benutzer anhand von Benutzer-Kennwort-Paaren im credentials-Abschnitt der Konfigurationsdatei der Website validieren. Sie können die Authenticate-Methode verwenden, um die vom Benutzer gesammelten Anmeldeinformationen mit der Liste der Benutzer/Kennwort-Paare im credentials-Abschnitt zu vergleichen und somit bestimmen, ob der Zugriff gestattet werden soll. Im folgenden Beispiel können sich die Benutzer Kim und John anmelden, wenn sie das richtige Kennwort angeben.

<credentials passwordFormat="SHA1" >
    <user name="Kim"
          password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
    <user name="John" 
          password="BA56E5E0366D003E98EA1C7F04ABF8FCB3753889"/>
</credentials>

Die Anmeldeinformationspaare im Beispiel werden mit dem Hashformat für Kennwörter SHA1 (Secure Hash Algorithm-1, Sicherer Hashalgorithmus-1) verschlüsselt. Das PasswordFormat-Attribut ist erforderlich. Die Werte für diese Eigenschaft sind in der folgenden Tabelle aufgeführt.

Wert

Beschreibung

Clear

Kennwörter werden als Klartext gespeichert. Das Kennwort des Benutzers wird direkt ohne weitere Konvertierung mit diesem Wert verglichen.

MD5

Kennwörter werden als mit MD5 (Message Digest 5) berechneter Hashwert gespeichert. Beim Validieren der Anmeldeinformationen wird aus dem Benutzerkennwort mit dem MD5-Algorithmus ein Hashwert berechnet und mit dem gespeicherten Wert verglichen. Wenn dieser Wert verwendet wird, wird der Klartext des Kennworts weder gespeichert noch verglichen. Dieser Algorithmus ist schneller als SHA1.

SHA1

Kennwörter werden als mit SHA1 berechneter Hashwert gespeichert. Beim Validieren der Anmeldeinformationen wird aus dem Benutzerkennwort mit dem SHA1-Algorithmus ein Hashwert berechnet und mit dem gespeicherten Wert verglichen. Der Klartext des Kennworts wird nicht gespeichert. Verwenden Sie diesen Algorithmus für eine erhöhte Sicherheit im Vergleich zum MD5-Algorithmus.

.NET Framework beinhaltet Klassen und Methoden, die die programmgesteuerte Erzeugung von Hashwerten für die dauerhafte Speicherung vereinfachen. Für die Programmierung dieser Aufgabe bietet sich die FormsAuthentication-Klasse an. Die HashPasswordForStoringInConfigFile-Methode kann dabei das Hashen übernehmen. Für eine noch genauere Steuerung können Sie auch die System.Security.Cryptography-Klassen verwenden.

Kennworthashs, die in einer Textdatei gespeichert wurden, können nicht zum Wiederherstellen des ursprünglichen Kennworts verwendet werden, sind aber bei einem Wörterbuchangriff potenziell gefährdet. Bei dieser Angriffsart verschafft sich der Angreifer Zugriff zur Kennwortdatei und versucht, die Kennwörter mit einer Software zu erschließen, die iterativ die Hashs aller Wörter in einem umfangreichen Wörterbuch berechnet und sie mit den gespeicherten Hashs vergleicht. Wenn Sie gehashte Kennwörter speichern, sollten Sie von den Benutzern verlangen, dass sie keine gebräuchlichen Wörter als Kennwörter wählen und Kennwörter mit Zahlen und nicht alphanumerischen Zeichen verwenden. Auf diese Weise können Wörterbuchangriffe verhindert werden. Zusätzlich können Sie Anmeldeinformationen einfacher verwalten, indem Sie sie mithilfe der ASP.NET-Mitgliedschaft speichern. Weitere Informationen finden Sie unter Verwalten von Benutzern durch Mitgliedschaft.

Siehe auch

Referenz

FormsAuthenticationModule

Weitere Ressourcen

Sicherheit für ASP.NET-Webanwendungen

Formularauthentifizierungsanbieter