Datei mit Anmeldeinformationen der Benutzer (Users.xml)

Dieses Anwendungsbeispiel setzt voraus, dass sich im Verzeichnis FormsAuth eine XML-Datei Users.xml befindet. Die Datei Users.xml enthält die Benutzernamen und Kennwörter der Benutzer, die für Zugriff auf die Datei Default.aspx (ebenfalls im Verzeichnis FormsAuth) autorisiert sind. Logon.aspx liest Namen und Kennwörter aus dieser Datei, und AddUser schreibt Namen und Kennwörter in die Datei.

Das Beispiel dient nur zur Veranschaulichung. Das Speichern von Benutzernamen und Kennwörtern in einer Textdatei birgt ein großes Sicherheitsrisiko und kann dazu führen, dass Kennwörter über das Internet gelesen werden. Wenn Sie vertrauliche Daten in einer XML-Datei oder einer anderen Textdatei speichern, empfiehlt es sich, einen mit Salt erstellten Hash oder andere geeignete symmetrische Verschlüsselungstechniken für das Kennwort zu verwenden, um es besser zu schützen. Im folgenden einfachen Beispiel werden die Hashwerte der Kennwörter mit der statischen FormsAuthentication.HashPasswordForStoringInConfigFile-Methode berechnet. Bei HashPasswordForStoringInConfigFile handelt es sich nicht um ein Hashverfahren mit Salt. Es ist deshalb potenziell gefährdet durch Wörterbuchangriffe, bei denen ein Angreifer versucht, Kennwörter mit einer Software zu erschließen, die iterativ die Hashwerte aller Wörter in einem umfangreichen Wörterbuch berechnet und sie mit dem gespeicherten Hash in Klartext vergleicht. Benutzer sollten keine gebräuchlichen Wörter als Kennwörter wählen, und die Kennwörter sollten Zahlen und nicht alphanumerische Zeichen enthalten, um Wörterbuchangriffe zu verhindern.

Es empfiehlt sich außerdem, ACL-Berechtigungen auf die Datei anzuwenden, so dass nur autorisierte Konten sie lesen können. Außerdem kann in Microsoft IIS durch das Entfernen von Leseberechtigungen mit dem Internetdienst-Manager ein zusätzlicher Schutz der Datei gewährleistet werden.

Damit ASP.NET in die Datei schreiben kann, müssen Sie dem ASPNET-Konto für IIS 5 oder dem Netzwerkdienstkonto (oder anderen konfigurierten Konten) für IIS 6 die Schreibberechtigung für die Datei erteilen.

Das folgende Beispiel zeigt den Standardinhalt der Datei Users.xml. Die nicht im Hashformat vorliegenden Kennwörter sind jchenpw für jchen@contoso.com und Kimpw für Kim@contoso.com.

<Users>
    <Users>
        <UserEmail>jchen@contoso.com</UserEmail>
        <UserPassword>
            BA56E5E0366D003E98EA1C7F04ABF8FCB3753889
        </UserPassword>
    </Users>
    <Users>
        <UserEmail>Kim@contoso.com</UserEmail>
        <UserPassword>
            07B7F3EE06F278DB966BE960E7CBBD103DF30CA6
        </UserPassword>
    </Users>
</Users>

Siehe auch

Sicherheit für ASP.NET-Webanwendungen | Formularauthentifizierung mit Hilfe einer Benutzerdatei im XML-Format