Freigeben über


Formularauthentifizierung mit Hilfe einer Benutzerdatei im XML-Format

In diesem Szenario fordert der Client die geschützte Ressource Default.aspx an. Zu diesem Anwendungsbeispiel gehören zwei Verzeichnisse (FormsAuth und AddUser) und sechs Dateien. Sie sind wie folgt angeordnet:

\FormsAuth (Web.config, Default.aspx, Logon.aspx, Users.xml)
\AddUser (Web.config, AddUser.aspx)

Das Verzeichnis FormsAuth ist das Stammverzeichnis der Anwendung.

Im Sicherheitsabschnitt der im Verzeichnis FormsAuth enthaltenen Datei Web.config wird die Autorisierung so festgelegt, dass ausschließlich authentifizierte Benutzer auf dieses Verzeichnis zugreifen können. Außerdem wird der Authentifizierungsmodus auf Forms festgelegt, so dass ASP.NET versucht, ein an die Anforderung angehängtes Cookie zu finden. Wenn keines gefunden wird, wird die Anforderung auf eine Anmeldeseite (Logon.aspx) umgeleitet. Dort gibt der Clientbenutzer die erforderlichen Anmeldeinformationen ein (E-Mail-Name und Kennwort). Die Seite vergleicht die eingegebenen Anmeldeinformationen mit einer Liste von Anmeldeinformationen in einer XML-Datei (Users.xml). Wenn eine Übereinstimmung gefunden wird, gilt die Anforderung als authentifiziert, und der Client wird zur ursprünglich angeforderten Ressource (Default.aspx) umgeleitet. Wenn keine Übereinstimmung gefunden wird, wird die Anforderung auf die Add User-Seite (AddUser.aspx) umgeleitet. Die Autorisierung in der Datei Web.config des Verzeichnisses AddUser ist so festgelegt, dass jeder Benutzer Zugriffsrechte hat. Dort werden die neu eingegebenen Anmeldeinformationen codiert und der XML-Datei (Users.xml) hinzugefügt.

Folgende sechs Dateien sind für dieses Beispiel relevant:

  • Drei ASPX-Dateien (Default.aspx, Logon.aspx und AddUser.aspx).
  • Zwei Konfigurationsdateien. Beide heißen Web.config. Die eine befindet sich im Stammverzeichnis der Anwendung und die andere im Verzeichnis AddUser.
  • Eine XML-Datei (Users.xml) mit den Anmeldeinformationen der Benutzer.

In diesem Abschnitt

Verwandte Abschnitte

Entwerfen von sicheren ASP.NET-Anwendungen