Share via


Grundlagen der Sicherheit und Unterstützung für ASP.NET (C#)

von Scott Mitchell

Hinweis

Seit diesem Artikel wurden die ASP.NET-Mitgliedschaftsanbieter von ASP.NET Identity abgelöst. Es wird dringend empfohlen, Apps so zu aktualisieren, dass sie die ASP.NET Identity-Plattform anstelle der Mitgliedschaftsanbieter verwenden, die zum Zeitpunkt des Schreibens dieses Artikels vorgestellt wurden. ASP.NET Identity bietet eine Reihe von Vorteilen gegenüber dem ASP.NET Mitgliedschaftssystem, darunter:

  • Bessere Leistung
  • Verbesserte Erweiterbarkeit und Testbarkeit
  • Unterstützung für OAuth, OpenID Connect und zweistufige Authentifizierung
  • Unterstützung der anspruchsbasierten Identität
  • Bessere Interoperabilität mit ASP.Net Core

PDF herunterladen

Dies ist das erste Tutorial in einer Reihe von Tutorials, in dem Techniken zum Authentifizieren von Besuchern über ein Webformular, zum Autorisieren des Zugriffs auf bestimmte Seiten und Funktionen und zum Verwalten von Benutzerkonten in einer ASP.NET-Anwendung untersucht werden.

Einführung

Was haben Foren, E-Commerce-Websites, Online-E-Mail-Websites, Portalwebsites und Soziale Netzwerke gemeinsam? Sie alle bieten Benutzerkonten an. Websites, die Benutzerkonten anbieten, müssen eine Reihe von Diensten bereitstellen. Mindestens müssen neue Besucher in der Lage sein, ein Konto zu erstellen, und wiederkehrende Besucher müssen sich anmelden können. Solche Webanwendungen können Entscheidungen basierend auf dem angemeldeten Benutzer treffen: Einige Seiten oder Aktionen können auf nur angemeldete Benutzer oder auf eine bestimmte Teilmenge von Benutzern beschränkt sein; Auf anderen Seiten können spezifische Informationen für den angemeldeten Benutzer oder mehr oder weniger Informationen angezeigt werden, je nachdem, welcher Benutzer die Seite anzeigt.

Dies ist das erste Tutorial in einer Reihe von Tutorials, in dem Techniken zum Authentifizieren von Besuchern über ein Webformular, zum Autorisieren des Zugriffs auf bestimmte Seiten und Funktionen und zum Verwalten von Benutzerkonten in einer ASP.NET-Anwendung untersucht werden. Im Laufe dieser Tutorials untersuchen wir Folgendes:

  • Identifizieren und Anmelden von Benutzern bei einer Website
  • Verwenden Sie ASP. NET-Mitgliedschaftsframework zum Verwalten von Benutzerkonten
  • Erstellen, Aktualisieren und Löschen von Benutzerkonten
  • Einschränken des Zugriffs auf eine Webseite, ein Verzeichnis oder eine bestimmte Funktionalität basierend auf dem angemeldeten Benutzer
  • Verwenden Sie ASP. Rollenframework von NET zum Zuordnen von Benutzerkonten zu Rollen
  • Verwalten von Benutzerrollen
  • Einschränken des Zugriffs auf eine Webseite, ein Verzeichnis oder eine bestimmte Funktionalität basierend auf der Rolle des angemeldeten Benutzers
  • Anpassen und Erweitern von ASP. Net-Sicherheitswebsteuerelemente

Diese Tutorials sind darauf ausgerichtet, präzise zu sein und schritt-für-Schritt-Anweisungen mit vielen Screenshots bereitzustellen, um Sie visuell durch den Prozess zu führen. Jedes Tutorial ist in C#- und Visual Basic-Versionen verfügbar und enthält einen Download des vollständigen verwendeten Codes. (Dieses erste Tutorial konzentriert sich auf Sicherheitskonzepte aus einem allgemeinen Blickwinkel und enthält daher keinen zugehörigen Code.)

In diesem Tutorial werden wichtige Sicherheitskonzepte und die verfügbaren Einrichtungen in ASP.NET erläutert, um die Implementierung von Formularauthentifizierung, Autorisierung, Benutzerkonten und Rollen zu unterstützen. Jetzt geht‘s los!

Hinweis

Sicherheit ist ein wichtiger Aspekt jeder Anwendung, der physische, technologische und politische Entscheidungen umfasst und ein hohes Maß an Planung und Domänenwissen erfordert. Diese Tutorialreihe ist nicht als Leitfaden für die Entwicklung sicherer Webanwendungen gedacht. Stattdessen konzentriert es sich speziell auf die Formularauthentifizierung, Autorisierung, Benutzerkonten und Rollen. Während einige Sicherheitskonzepte, die sich um diese Probleme drehen, in dieser Reihe diskutiert werden, bleiben andere unerforscht.

Authentifizierung, Autorisierung, Benutzerkonten und Rollen

Authentifizierung, Autorisierung, Benutzerkonten und Rollen sind vier Begriffe, die in dieser Tutorialreihe sehr häufig verwendet werden. Daher möchte ich einen kurzen Moment in Anspruch nehmen, um diese Begriffe im Kontext der Websicherheit zu definieren. In einem Client-Server-Modell, z. B. im Internet, gibt es viele Szenarien, in denen der Server den Client identifizieren muss, der die Anforderung stellt. Bei der Authentifizierung wird die Identität des Clients ermittelt. Ein Client, der erfolgreich identifiziert wurde, wird als authentifiziert angegeben. Ein nicht identifizierter Client soll nicht authentifiziert oder anonym sein.

Sichere Authentifizierungssysteme umfassen mindestens eine der folgenden drei Facetten: etwas, das Sie kennen, etwas, das Sie haben oder etwas, das Sie sind. Die meisten Webanwendungen basieren auf etwas, das der Client weiß, z. B. ein Kennwort oder eine PIN. Die Informationen, die zur Identifizierung eines Benutzers verwendet werden , z. B. sein Benutzername und sein Kennwort, werden als Anmeldeinformationen bezeichnet. Diese Tutorialreihe konzentriert sich auf die Formularauthentifizierung, bei der es sich um ein Authentifizierungsmodell handelt, bei dem sich Benutzer bei der Website anmelden, indem sie ihre Anmeldeinformationen in einem Webseitenformular angeben. Wir haben alle diese Art der Authentifizierung bereits erlebt. Wechseln Sie zu einer beliebigen E-Commerce-Website. Wenn Sie zum Auschecken bereit sind, werden Sie aufgefordert, sich anzumelden, indem Sie Ihren Benutzernamen und Ihr Kennwort in Textfelder auf einer Webseite eingeben.

Zusätzlich zur Identifizierung von Clients muss ein Server möglicherweise einschränken, auf welche Ressourcen oder Funktionen je nach Client, der die Anforderung stellt, zugegriffen werden kann. Die Autorisierung ist der Prozess, bei dem bestimmt wird, ob ein bestimmter Benutzer über die Berechtigung für den Zugriff auf eine bestimmte Ressource oder Funktionalität verfügt.

Ein Benutzerkonto ist ein Speicher zum Beibehalten von Informationen zu einem bestimmten Benutzer. Benutzerkonten müssen mindestens Informationen enthalten, die den Benutzer eindeutig identifizieren, z. B. Anmeldename und Kennwort des Benutzers. Zusammen mit diesen wichtigen Informationen können Benutzerkonten Dinge wie die E-Mail-Adresse des Benutzers enthalten; Datum und Uhrzeit der Kontoerstellung; Datum und Uhrzeit der letzten Anmeldung; Vor- und Nachname; Telefonnummer; und Postanschrift. Bei Verwendung der Formularauthentifizierung werden Benutzerkontoinformationen in der Regel in einer relationalen Datenbank wie Microsoft SQL Server gespeichert.

Webanwendungen, die Benutzerkonten unterstützen, können Benutzer optional in Rollen gruppieren. Eine Rolle ist einfach eine Bezeichnung, die auf einen Benutzer angewendet wird und eine Abstraktion zum Definieren von Autorisierungsregeln und Funktionen auf Seitenebene bereitstellt. Beispielsweise kann eine Website eine Administratorrolle mit Autorisierungsregeln enthalten, die jedem benutzer außer einem Administrator den Zugriff auf eine bestimmte Gruppe von Webseiten verbieten. Darüber hinaus kann eine Vielzahl von Seiten, die für alle Benutzer (einschließlich nicht-Administratoren) zugänglich sind, zusätzliche Daten anzeigen oder zusätzliche Funktionen bieten, wenn sie von Benutzern in der Rolle "Administratoren" besucht werden. Mithilfe von Rollen können wir diese Autorisierungsregeln rollenweise und nicht auf Benutzer-nach-Benutzer-Basis definieren.

Authentifizieren von Benutzern in einer ASP.NET-Anwendung

Wenn ein Benutzer eine URL in das Adressfenster seines Browsers eingibt oder auf einen Link klickt, sendet der Browser eine HTTP-Anforderung (Hypertext Transfer Protocol) an den Webserver für den angegebenen Inhalt, sei es eine ASP.NET Seite, ein Bild, eine JavaScript-Datei oder eine andere Art von Inhalt. Der Webserver muss den angeforderten Inhalt zurückgeben. Dabei muss sie eine Reihe von Dingen über die Anforderung bestimmen, einschließlich der Person, die die Anforderung gestellt hat und ob die Identität autorisiert ist, den angeforderten Inhalt abzurufen.

Standardmäßig senden Browser HTTP-Anforderungen, für die keine Identifikationsinformationen vorhanden sind. Wenn der Browser jedoch Authentifizierungsinformationen enthält, startet der Webserver den Authentifizierungsworkflow, der versucht, den Client zu identifizieren, der die Anforderung stellt. Die Schritte des Authentifizierungsworkflows hängen vom Typ der Authentifizierung ab, die von der Webanwendung verwendet wird. ASP.NET unterstützt drei Authentifizierungstypen: Windows, Passport und Formulare. Diese Tutorialreihe konzentriert sich auf die Formularauthentifizierung, aber lassen Sie uns eine Minute dauern, um Windows-Authentifizierung Benutzerspeicher und Workflow zu vergleichen und zu vergleichen.

Authentifizierung über Windows-Authentifizierung

Der workflow Windows-Authentifizierung verwendet eine der folgenden Authentifizierungstechniken:

  • Standardauthentifizierung
  • Digestauthentifizierung
  • Integrierte Windows-Authentifizierung

Alle drei Techniken funktionieren ungefähr auf die gleiche Weise: Wenn eine nicht autorisierte, anonyme Anforderung eingeht, sendet der Webserver eine HTTP-Antwort zurück, die angibt, dass die Autorisierung für die Fortsetzung erforderlich ist. Der Browser zeigt dann ein modales Dialogfeld an, das den Benutzer zur Eingabe seines Benutzernamens und Kennworts auffordert (siehe Abbildung 1). Diese Informationen werden dann über einen HTTP-Header zurück an den Webserver gesendet.

Ein modales Dialogfeld fordert den Benutzer zur Eingabe seiner Anmeldeinformationen auf.

Abbildung 1: Ein modales Dialogfeld fordert den Benutzer zur Eingabe seiner Anmeldeinformationen auf.

Die angegebenen Anmeldeinformationen werden im Windows User Store des Webservers überprüft. Dies bedeutet, dass jeder authentifizierte Benutzer in Ihrer Webanwendung über ein Windows-Konto in Ihrem organization verfügen muss. Dies ist in Intranetszenarien üblich. Bei Verwendung der integrierten Windows-Authentifizierung in einer Intraneteinstellung stellt der Browser dem Webserver automatisch die Anmeldeinformationen zur Verfügung, die für die Anmeldung beim Netzwerk verwendet werden, wodurch das in Abbildung 1 dargestellte Dialogfeld unterdrückt wird. Während Windows-Authentifizierung sich hervorragend für Intranetanwendungen eignet, ist dies für Internetanwendungen in der Regel nicht durchführbar, da Sie nicht für jeden Benutzer, der sich auf Ihrer Website registriert, Windows-Konten erstellen möchten.

Authentifizierung über Formularauthentifizierung

Die Formularauthentifizierung hingegen eignet sich ideal für Internet-Webanwendungen. Erinnern Sie sich daran, dass die Formularauthentifizierung den Benutzer identifiziert, indem er aufgefordert wird, seine Anmeldeinformationen über ein Webformular einzugeben. Wenn ein Benutzer versucht, auf eine nicht autorisierte Ressource zuzugreifen, wird er daher automatisch zur Anmeldeseite weitergeleitet, auf der er seine Anmeldeinformationen eingeben kann. Die übermittelten Anmeldeinformationen werden dann anhand eines benutzerdefinierten Benutzerspeichers überprüft – in der Regel eine Datenbank.

Nach dem Überprüfen der übermittelten Anmeldeinformationen wird ein Formularauthentifizierungsticket für den Benutzer erstellt. Dieses Ticket gibt an, dass der Benutzer authentifiziert wurde, und enthält Identifikationsinformationen, z. B. den Benutzernamen. Das Formularauthentifizierungsticket wird (in der Regel) als Cookie auf dem Clientcomputer gespeichert. Daher schließen nachfolgende Besuche der Website das Formularauthentifizierungsticket in der HTTP-Anforderung ein, sodass die Webanwendung den Benutzer nach der Anmeldung identifizieren kann.

Abbildung 2 veranschaulicht den Workflow für die Formularauthentifizierung von einem allgemeinen Standpunkt aus. Beachten Sie, wie die Authentifizierungs- und Autorisierungselemente in ASP.NET als zwei separate Entitäten fungieren. Das Formularauthentifizierungssystem identifiziert den Benutzer (oder meldet, dass er anonym ist). Das Autorisierungssystem bestimmt, ob der Benutzer Zugriff auf die angeforderte Ressource hat. Wenn der Benutzer nicht autorisiert ist (wie in Abbildung 2 beim Versuch, ProtectedPage.aspx anonym zu besuchen), meldet das Autorisierungssystem, dass der Benutzer verweigert wird, sodass das Formularauthentifizierungssystem den Benutzer automatisch zur Anmeldeseite umleitet.

Nachdem sich der Benutzer erfolgreich angemeldet hat, enthalten nachfolgende HTTP-Anforderungen das Formularauthentifizierungsticket. Das Formularauthentifizierungssystem identifiziert lediglich den Benutzer . Es ist das Autorisierungssystem, das bestimmt, ob der Benutzer auf die angeforderte Ressource zugreifen kann.

Der Formularauthentifizierungsworkflow

Abbildung 2: Formularauthentifizierungsworkflow

Im nächsten Tutorial Eine Übersicht über die Formularauthentifizierung wird die Formularauthentifizierung viel ausführlicher behandelt. Weitere Informationen zu ASP. Die Authentifizierungsoptionen von NET finden Sie unter ASP.NET-Authentifizierung.

Einschränken des Zugriffs auf Webseiten, Verzeichnisse und Seitenfunktionen

ASP.NET bietet zwei Möglichkeiten, um zu bestimmen, ob ein bestimmter Benutzer über die Berechtigung für den Zugriff auf eine bestimmte Datei oder ein bestimmtes Verzeichnis verfügt:

  • Dateiautorisierung: Da ASP.NET Seiten und Webdienste als Dateien implementiert werden, die sich im Dateisystem des Webservers befinden, kann der Zugriff auf diese Dateien über Access Control Listen (ACLs) angegeben werden. Die Dateiautorisierung wird am häufigsten mit Windows-Authentifizierung verwendet, da ACLs Berechtigungen sind, die für Windows-Konten gelten. Bei Verwendung der Formularauthentifizierung werden alle Anforderungen auf Betriebssystem- und Dateisystemebene vom gleichen Windows-Konto ausgeführt, unabhängig davon, ob der Benutzer die Website besucht.
  • URL-Autorisierung: Mit URL-Autorisierung gibt der Seitenentwickler Autorisierungsregeln in Web.config an. Diese Autorisierungsregeln geben an, welche Benutzer oder Rollen auf bestimmte Seiten oder Verzeichnisse in der Anwendung zugreifen dürfen oder denen der Zugriff verweigert wird.

Dateiautorisierung und URL-Autorisierung definieren Autorisierungsregeln für den Zugriff auf eine bestimmte ASP.NET Seite oder für alle ASP.NET Seiten in einem bestimmten Verzeichnis. Mit diesen Techniken können wir ASP.NET anweisen, Anforderungen an eine bestimmte Seite für einen bestimmten Benutzer zu verweigern, oder den Zugriff auf eine Gruppe von Benutzern zuzulassen und allen anderen den Zugriff zu verweigern. Was ist mit Szenarien, in denen alle Benutzer auf die Seite zugreifen können, die Funktionalität der Seite jedoch vom Benutzer abhängt? Beispielsweise verfügen viele Websites, die Benutzerkonten unterstützen, über Seiten, die unterschiedliche Inhalte oder Daten für authentifizierte Benutzer im Vergleich zu anonymen Benutzern anzeigen. Einem anonymen Benutzer wird möglicherweise ein Link zum Anmelden bei der Website angezeigt, während einem authentifizierten Benutzer stattdessen eine Nachricht wie Willkommen zurück, Benutzername und ein Link zum Abmelden angezeigt wird. Ein weiteres Beispiel: Beim Anzeigen eines Artikels auf einer Auktionswebsite werden unterschiedliche Informationen angezeigt, je nachdem, ob Sie ein Bieter oder derjenige sind, der den Artikel versteigert.

Solche Anpassungen auf Seitenebene können deklarativ oder programmgesteuert erfolgen. Um andere Inhalte für anonyme als authentifizierte Benutzer anzuzeigen, ziehen Sie einfach ein LoginView-Steuerelement auf Ihre Seite, und geben Sie den entsprechenden Inhalt in die Vorlagen AnonymousTemplate und LoggedInTemplate ein. Alternativ können Sie programmgesteuert bestimmen, ob die aktuelle Anforderung authentifiziert ist, wer der Benutzer ist und zu welchen Rollen er gehört (falls vorhanden). Sie können diese Informationen verwenden, um Dann Spalten in einem Raster oder Panels auf der Seite ein- oder auszublenden.

Diese Reihe enthält drei Tutorials, die sich auf die Autorisierung konzentrieren. Die benutzerbasierte Autorisierunguntersucht, wie der Zugriff auf eine Seite oder Seiten in einem Verzeichnis für bestimmte Benutzerkonten eingeschränkt werden kann. Die rollenbasierte Autorisierung untersucht die Bereitstellung von Autorisierungsregeln auf Rollenebene. Schließlich untersucht das Tutorial Anzeigen von Inhalten basierend auf dem aktuell angemeldeten Benutzer das Ändern des Inhalts und der Funktionalität einer bestimmten Seite basierend auf dem Benutzer, der die Seite besucht. Weitere Informationen zu ASP. Die Autorisierungsoptionen von NET finden Sie unter ASP.NET Autorisierung.

Benutzerkonten und Rollen

ASP. Die Formularauthentifizierung von NET bietet eine Infrastruktur, in der sich Benutzer bei einem Standort anmelden und ihren authentifizierten Zustand über Seitenbesuche hinweg speichern können. Die URL-Autorisierung bietet ein Framework zum Einschränken des Zugriffs auf bestimmte Dateien oder Ordner in einer ASP.NET Anwendung. Kein Feature bietet jedoch eine Möglichkeit zum Speichern von Benutzerkontoinformationen oder zum Verwalten von Rollen.

Vor ASP.NET 2.0 waren Entwickler für die Erstellung eigener Benutzer- und Rollenspeicher verantwortlich. Sie waren auch am Haken, um die Benutzeroberflächen zu entwerfen und den Code für wichtige Benutzerkonten bezogene Seiten wie die Anmeldeseite und die Seite zum Erstellen eines neuen Kontos zu schreiben. Ohne ein integriertes Benutzerkontoframework in ASP.NET musste jeder Entwickler, der Benutzerkonten implementiert, seine eigenen Entwurfsentscheidungen zu Fragen wie Gewusst wie Speichern von Kennwörtern oder anderen vertraulichen Informationen treffen? und Welche Richtlinien sollte ich in Bezug auf Kennwortlänge und -stärke auferlegen?

Heutzutage ist die Implementierung von Benutzerkonten in einer ASP.NET-Anwendung dank des Membership-Frameworks und der integrierten Anmeldewebsteuerelemente viel einfacher. Das Mitgliedschaftsframework besteht aus einer Handvoll Klassen im System.Web.Security-Namespace , die Funktionen zum Ausführen wesentlicher Benutzerkontobezogener Aufgaben bereitstellen. Die Schlüsselklasse im Membership-Framework ist die Membership-Klasse mit Methoden wie:

  • CreateUser
  • DeleteUser
  • Getallusers
  • Getuser
  • Updateuser
  • Validateuser

Das Mitgliedschaftsframework verwendet das Anbietermodell, das die API des Mitgliedschaftsframeworks sauber von seiner Implementierung trennt. Dadurch können Entwickler eine allgemeine API verwenden, aber sie können eine Implementierung verwenden, die die benutzerdefinierten Anforderungen ihrer Anwendung erfüllt. Kurz gesagt, die Membership-Klasse definiert die wesentliche Funktionalität des Frameworks (die Methoden, Eigenschaften und Ereignisse), stellt jedoch keine Implementierungsdetails bereit. Stattdessen rufen die Methoden der Membership-Klasse den konfigurierten Anbieter auf, der die eigentliche Arbeit ausführt. Wenn beispielsweise die CreateUser-Methode der Membership-Klasse aufgerufen wird, kennt die Membership-Klasse die Details des Benutzerspeichers nicht. Es weiß nicht, ob Benutzer in einer Datenbank oder in einer XML-Datei oder in einem anderen Speicher verwaltet werden. Die Membership-Klasse untersucht die Konfiguration der Webanwendung, um zu bestimmen, an welchen Anbieter der Aufruf delegiert werden soll, und diese Anbieterklasse ist für die tatsächliche Erstellung des neuen Benutzerkontos im entsprechenden Benutzerspeicher verantwortlich. Diese Interaktion wird in Abbildung 3 veranschaulicht.

Microsoft liefert zwei Mitgliedschaftsanbieterklassen im .NET Framework aus:

Diese Tutorialreihe konzentriert sich ausschließlich auf den SqlMembershipProvider.

Das Anbietermodell ermöglicht es, verschiedene Implementierungen nahtlos in das Framework</strong zu integrieren.>

Abbildung 03: Das Anbietermodell ermöglicht es, unterschiedliche Implementierungen nahtlos in das Framework zu integrieren (klicken, um das bild in voller Größe anzuzeigen)

Der Vorteil des Anbietermodells besteht darin, dass alternative Implementierungen von Microsoft, Drittanbietern oder einzelnen Entwicklern entwickelt und nahtlos in das Mitgliedschaftsframework eingebunden werden können. Microsoft hat beispielsweise einen Mitgliedschaftsanbieter für Microsoft Access-Datenbanken veröffentlicht. Weitere Informationen zu den Mitgliedschaftsanbietern finden Sie im Anbieter-Toolkit, das eine exemplarische Vorgehensweise der Mitgliedschaftsanbieter, benutzerdefinierte Beispielanbieter, über 100 Seiten Dokumentation zum Anbietermodell und den vollständigen Quellcode für die integrierten Mitgliedschaftsanbieter (nämlich ActiveDirectoryMembershipProvider und SqlMembershipProvider) enthält.

ASP.NET 2.0 wurde auch das Rollenframework eingeführt. Wie das Mitgliedschaftsframework wird das Rollenframework auf dem Anbietermodell erstellt. Die API wird über die Roles-Klasse verfügbar gemacht, und die .NET Framework wird mit drei Anbieterklassen ausgeliefert:

  • AuthorizationStoreRoleProvider : Verwaltet Rolleninformationen in einem Autorisierungs-Manager-Richtlinienspeicher, z. B. Active Directory oder ADAM.
  • SqlRoleProvider: Implementiert Rollen in einer SQL Server Datenbank.
  • WindowsTokenRoleProvider : ordnet Rolleninformationen basierend auf der Windows-Gruppe des Besuchers zu. Diese Methode wird in der Regel mit Windows-Authentifizierung verwendet.

Diese Tutorialreihe konzentriert sich ausschließlich auf den SqlRoleProvider.

Da das Anbietermodell eine einzelne vorwärtsgerichtete API (die Klassen Mitgliedschaft und Rollen) enthält, ist es möglich, Funktionen um diese API herum zu erstellen, ohne sich um die Implementierungsdetails kümmern zu müssen. Diese werden von den vom Seitenentwickler ausgewählten Anbietern verarbeitet. Diese einheitliche API ermöglicht es Microsoft und Drittanbietern, Websteuerelemente zu erstellen, die mit den Mitgliedschafts- und Rollenframeworks zusammenarbeiten. ASP.NET wird mit einer Reihe von Anmeldewebsteuerelementen für die Implementierung allgemeiner Benutzeroberflächen für Benutzerkonten ausgeliefert. Das Login-Steuerelement fordert beispielsweise einen Benutzer zur Eingabe seiner Anmeldeinformationen auf, überprüft sie und meldet sie dann über die Formularauthentifizierung an. Das LoginView-Steuerelement bietet Vorlagen zum Anzeigen eines anderen Markups für anonyme Benutzer gegenüber authentifizierten Benutzern oder ein anderes Markup basierend auf der Rolle des Benutzers. Und das CreateUserWizard-Steuerelement bietet eine schrittweise Benutzeroberfläche zum Erstellen eines neuen Benutzerkontos.

Unter den Abdeckungen interagieren die verschiedenen Anmeldesteuerelemente mit den Frameworks Mitgliedschaft und Rollen. Die meisten Anmeldesteuerelemente können implementiert werden, ohne eine einzige Codezeile schreiben zu müssen. Wir werden diese Steuerelemente in zukünftigen Tutorials genauer untersuchen, einschließlich Techniken zum Erweitern und Anpassen ihrer Funktionalität.

Zusammenfassung

Alle Webanwendungen, die Benutzerkonten unterstützen, erfordern ähnliche Features, z. B. die Möglichkeit, dass sich Benutzer anmelden und ihre Anmeldung status über Seitenbesuche hinweg gespeichert werden können, eine Webseite, auf der neue Besucher ein Konto erstellen können, und die Möglichkeit des Seitenentwicklers anzugeben, welche Ressource, Daten und Funktionen welchen Benutzern oder Rollen zur Verfügung stehen. Die Aufgaben der Authentifizierung und Autorisierung von Benutzern sowie der Verwaltung von Benutzerkonten und Rollen sind in ASP.NET Anwendungen dank Formularauthentifizierung, URL-Autorisierung und dem Mitgliedschafts- und Rollenframework bemerkenswert einfach zu erledigen.

Im Laufe der nächsten Tutorials werden wir diese Aspekte untersuchen, indem wir schrittweise eine funktionierende Webanwendung von Grund auf erstellen. Im nächsten Tutorial werden wir uns ausführlich mit der Formularauthentifizierung befassen. Wir werden den Workflow für die Formularauthentifizierung in Aktion sehen, das Formularauthentifizierungsticket sentieren, Sicherheitsbedenken besprechen und sehen, wie das Formularauthentifizierungssystem konfiguriert werden kann – und das alles beim Erstellen einer Webanwendung, die es Besuchern ermöglicht, sich anzumelden und abzumelden.

Viel Spaß beim Programmieren!

Weitere Informationen

Weitere Informationen zu den in diesem Tutorial erläuterten Themen finden Sie in den folgenden Ressourcen:

Zum Autor

Scott Mitchell, Autor von sieben ASP/ASP.NET-Büchern und Gründer von 4GuysFromRolla.com, arbeitet seit 1998 mit Microsoft-Webtechnologien. Scott arbeitet als unabhängiger Berater, Trainer und Autor. Sein neuestes Buch ist Sams Teach Yourself ASP.NET 2.0 in 24 Hours. Er kann unter mitchell@4GuysFromRolla.comoder über seinen Blog erreicht werden, der unter http://ScottOnWriting.NETzu finden ist.

Besonderer Dank an

Diese Tutorialreihe wurde von vielen hilfreichen Prüfern überprüft. Lead Reviewer für dieses Tutorial war Diese Tutorialreihe wurde von vielen hilfreichen Prüfern überprüft. Hauptprüfer für dieses Tutorial sind Alicja Maziarz, John Suru und Teresa Murphy. Möchten Sie meine bevorstehenden MSDN-Artikel lesen? Wenn dies der Fall ist, legen Sie eine Zeile unter abmitchell@4GuysFromRolla.com.