Freigeben über


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

von Scott Mitchell

Hinweis

Da dieser Artikel geschrieben wurde, werden die ASP.NET Mitgliedschaftsanbieter durch ASP.NET Identity ersetzt. Es wird dringend empfohlen, Apps so zu aktualisieren, dass sie die ASP.NET Identity Platform anstelle der Mitgliedschaftsanbieter verwenden, die zum Zeitpunkt dieses Artikels vorgestellt wurden. ASP.NET Identity hat 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
  • Anspruchsbasierte Identitätsunterstützung
  • Bessere Interoperabilität mit ASP.Net Core

PDF herunterladen

Dies ist das erste Lernprogramm in einer Reihe von Lernprogrammen, die Techniken zum Authentifizieren von Besuchern über ein Webformular, das Autorisieren des Zugriffs auf bestimmte Seiten und Funktionen und das Verwalten von Benutzerkonten in einer ASP.NET-Anwendung untersuchen.

Einführung

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

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

  • Identifizieren und Anmelden von Benutzern bei einer Website
  • Verwenden Sie ASP. Das Mitgliedschaftsframework von NET zum Verwalten von Benutzerkonten
  • Erstellen, Aktualisieren und Löschen von Benutzerkonten
  • Beschrä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
  • Beschrä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. Sicherheitswebsteuerelemente von NET

Diese Lernprogramme sind darauf ausgerichtet, präzise zu sein und schrittweise Anleitungen mit vielen Screenshots bereitzustellen, um Sie visuell durch den Prozess zu führen. Jedes Lernprogramm ist in C#- und Visual Basic-Versionen verfügbar und enthält einen Download des vollständigen verwendeten Codes. (Dieses erste Lernprogramm konzentriert sich auf Sicherheitskonzepte auf hoher Ebene und enthält daher keinen zugeordneten Code.)

In diesem Lernprogramm besprechen wir wichtige Sicherheitskonzepte und welche Einrichtungen in ASP.NET zur Unterstützung bei der Implementierung von Formularauthentifizierung, Autorisierung, Benutzerkonten und Rollen zur Verfügung stehen. Legen wir los.

Hinweis

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

Authentifizierung, Autorisierung, Benutzerkonten und Rollen

Authentifizierung, Autorisierung, Benutzerkonten und Rollen sind vier Begriffe, die in dieser Lernprogrammreihe sehr häufig verwendet werden. Daher möchte ich einen kurzen Moment dauern, um diese Begriffe im Kontext der Websicherheit zu definieren. In einem Clientservermodell, z. B. im Internet, gibt es viele Szenarien, in denen der Server den Client identifizieren muss, der die Anforderung stellt. Die Authentifizierung ist der Prozess der Ermittlung der Identität des Clients. Ein Client, der erfolgreich identifiziert wurde, wird als authentifiziert bezeichnet. 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 verlassen sich auf etwas, das der Client kennt, z. B. ein Kennwort oder eine PIN. Die Informationen, die verwendet werden, um einen Benutzer – z. B. ihren Benutzernamen und ihr Kennwort – zu identifizieren, werden als Anmeldeinformationen bezeichnet. Diese Lernprogrammreihe 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 vorher erlebt. Wechseln Sie zu einer beliebigen eCommerce-Website. Wenn Sie bereit sind, 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 zugegriffen werden kann, je nachdem, welcher Client die Anforderung anfordert. Die Autorisierung ist der Prozess der Ermittlung, ob ein bestimmter Benutzer über die Berechtigung verfügt, auf eine bestimmte Ressource oder Funktionalität zuzugreifen.

Ein Benutzerkonto ist ein Speicher zum Speichern von Informationen zu einem bestimmten Benutzer. Benutzerkonten müssen minimal Informationen enthalten, die den Benutzer eindeutig identifizieren, z. B. den Anmeldenamen und das Kennwort des Benutzers. Zusammen mit diesen wichtigen Informationen können Benutzerkonten Elemente wie die E-Mail-Adresse des Benutzers enthalten; Datum und Uhrzeit der Erstellung des Kontos; 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 jede Person, aber ein Administrator für den Zugriff auf eine bestimmte Gruppe von Webseiten verbieten. Darüber hinaus kann eine Vielzahl von Seiten, die für alle Benutzer (einschließlich Nichtadministratoren) zugänglich sind, zusätzliche Daten anzeigen oder zusätzliche Funktionen bieten, wenn benutzer in der Administratorrolle besucht werden. Mithilfe von Rollen können wir diese Autorisierungsregeln auf Rollenbasis und nicht auf Benutzerbasis 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 einen anderen Inhaltstyp. Der Webserver wird mit der Rückgabe des angeforderten Inhalts beauftragt. Auf diese Weise muss eine Reihe von Dingen über die Anforderung bestimmt werden, einschließlich der Personen, die die Anforderung gestellt haben, und ob die Identität berechtigt ist, die angeforderten Inhalte abzurufen.

Standardmäßig senden Browser HTTP-Anforderungen, für die keine Identifizierungsinformationen vorhanden sind. Wenn der Browser jedoch Authentifizierungsinformationen enthält, startet der Webserver den Authentifizierungsworkflow, der versucht, den Client zu identifizieren, der die Anforderung durchführt. 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 Lernprogrammreihe konzentriert sich auf die Formularauthentifizierung, aber wir nehmen uns eine Minute Zeit, um Windows-Authentifizierung Benutzerspeicher und -workflows zu vergleichen und zu kontrastieren.

Authentifizierung über Windows-Authentifizierung

Der Windows-Authentifizierung-Workflow 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 fortgesetzt werden muss. Der Browser zeigt dann ein modales Dialogfeld an, in dem der Benutzer zur Eingabe seines Benutzernamens und Kennworts aufgefordert wird (siehe Abbildung 1). Diese Informationen werden dann über einen HTTP-Header an den Webserver zurückgesendet.

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 Ihrer Organisation verfügen muss. Dies ist in Intranetszenarien üblich. Tatsächlich stellt der Browser bei Verwendung der integrierten Windows-Authentifizierung in einer Intraneteinstellung automatisch den Webserver mit den Anmeldeinformationen bereit, die zum Anmelden am Netzwerk verwendet werden, wodurch das in Abbildung 1 dargestellte Dialogfeld unterdrückt wird. Obwohl Windows-Authentifizierung ideal für Intranetanwendungen ist, ist es in der Regel für Internetanwendungen nicht zu verwendbar, da Sie keine Windows-Konten für jeden und jeden Benutzer erstellen möchten, der sich auf Ihrer Website anmeldet.

Authentifizierung über Formularauthentifizierung

Die Formularauthentifizierung ist dagegen ideal für Internetwebanwendungen. Erinnern Sie sich daran, dass die Formularauthentifizierung den Benutzer identifiziert, indem er ihn auffordert, seine Anmeldeinformationen über ein Webformular einzugeben. Wenn ein Benutzer versucht, auf eine nicht autorisierte Ressource zuzugreifen, wird er automatisch auf die Anmeldeseite umgeleitet, auf der er seine Anmeldeinformationen eingeben kann. Die übermittelten Anmeldeinformationen werden dann anhand eines benutzerdefinierten Benutzerspeichers überprüft – in der Regel eine Datenbank.

Nach der Überprüfung der übermittelten Anmeldeinformationen wird ein Formularauthentifizierungsticket für den Benutzer erstellt. Dieses Ticket gibt an, dass der Benutzer authentifiziert wurde und identifizierungsinformationen enthält, z. B. den Benutzernamen. Das Formularauthentifizierungsticket wird (in der Regel) als Cookie auf dem Clientcomputer gespeichert. Daher umfassen nachfolgende Besuche auf der Website das Formularauthentifizierungsticket in der HTTP-Anforderung und ermöglichen es der Webanwendung, den Benutzer nach der Anmeldung zu identifizieren.

Abbildung 2 zeigt den Formularauthentifizierungsworkflow von einer allgemeinen Ebene. Beachten Sie, dass 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 er sich in Abbildung 2 befindet, wenn er versucht, anonym zu besuchen ProtectedPage.aspx), meldet das Autorisierungssystem, dass der Benutzer verweigert wird, wodurch 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: Der Formularauthentifizierungsworkflow

Im nächsten Lernprogramm "Eine Übersicht über die Formularauthentifizierung" wird die Formularauthentifizierung 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 umfasst zwei Möglichkeiten, um zu bestimmen, ob ein bestimmter Benutzer über die Berechtigung zum Zugreifen 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, können Zugriff auf diese Dateien über Zugriffssteuerungslisten (ACCESS Control Lists, ACLs) angegeben werden. Die Dateiautorisierung wird am häufigsten mit Windows-Authentifizierung verwendet, da ACLs Berechtigungen sind, die für Windows-Konten gelten. Bei Der Verwendung der Formularauthentifizierung werden alle Anforderungen auf Betriebssystem- und Dateisystemebene unabhängig vom Benutzer, der die Website besucht, vomselben Windows-Konto ausgeführt.
  • URL-Autorisierung - mit URL-Autorisierung, der Seitenentwickler gibt 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. Mithilfe dieser 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 zu ermöglichen und den Zugriff auf alle anderen Personen zu verweigern. Was ist mit Szenarien, in denen alle Benutzer auf die Seite zugreifen können, aber die Funktionalität der Seite hängt vom Benutzer ab? Beispielsweise haben viele Websites, die Benutzerkonten unterstützen, Seiten, die unterschiedliche Inhalte oder Daten für authentifizierte Benutzer und anonyme Benutzer anzeigen. Ein anonymer Benutzer sieht möglicherweise einen Link zum Anmelden bei der Website, während ein authentifizierter Benutzer stattdessen eine Meldung wie "Willkommen" und "Benutzername " zusammen mit einem Link zum Abmelden sehen würde. Ein weiteres Beispiel: Beim Anzeigen eines Elements auf einer Auktionswebsite sehen Sie unterschiedliche Informationen, je nachdem, ob Sie ein Bieter oder das Element versteigerungen.

Solche Anpassungen auf Seitenebene können deklarativ oder programmgesteuert durchgeführt werden. 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 ermitteln, ob die aktuelle Anforderung authentifiziert ist, wer der Benutzer ist und zu welchen Rollen sie gehören (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 Lernprogramme, die sich auf die Autorisierung konzentrieren. Die benutzerbasierte Autorisierunguntersucht, wie der Zugriff auf eine Seite oder Seiten in einem Verzeichnis für bestimmte Benutzerkonten beschränkt wird; Die rollenbasierte Autorisierung untersucht die Bereitstellung von Autorisierungsregeln auf Rollenebene. Zuletzt untersucht das Lernprogramm zum Anzeigen von Inhalten basierend auf dem Lernprogramm "Aktuell angemeldeter 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

NATTER. Die Formularauthentifizierung von NET stellt eine Infrastruktur bereit, in der sich Benutzer bei einer Website anmelden und ihren authentifizierten Zustand bei Seitenbesuchen merken lassen. Und die URL-Autorisierung bietet ein Framework zum Einschränken des Zugriffs auf bestimmte Dateien oder Ordner in einer ASP.NET Anwendung. Keines dieser Features stellt jedoch eine Möglichkeit zum Speichern von Benutzerkontoinformationen oder zum Verwalten von Rollen dar.

Vor ASP.NET 2.0 waren Entwickler für die Erstellung eigener Benutzer- und Rollenspeicher verantwortlich. Sie waren auch auf dem Hook zum Entwerfen der Benutzeroberflächen und schreiben den Code für wichtige Benutzerkontoseiten wie die Anmeldeseite und die Seite, um ein neues Konto zu erstellen, unter anderem. Ohne integriertes Benutzerkontoframework in ASP.NET musste jeder Entwickler, der Benutzerkonten implementiert, seine eigenen Designentscheidungen zu Fragen wie Gewusst wie Speichern von Kennwörtern oder anderen vertraulichen Informationen treffen? Und welche Richtlinien sollte ich hinsichtlich Kennwortlänge und Stärke auferlegen?

Heute ist die Implementierung von Benutzerkonten in einer ASP.NET Anwendung dank des Mitgliedschaftsframeworks und der integrierten Anmeldewebsteuerelemente wesentlich einfacher. Das Mitgliedschaftsframework ist eine Handvoll Klassen im System.Web.Security-Namespace , die Funktionen zum Ausführen wesentlicher Aufgaben im Zusammenhang mit Benutzerkonten bereitstellen. Die Schlüsselklasse im Mitgliedschaftsframework ist die Membership-Klasse, die Methoden wie:

  • CreateUser
  • DeleteUser
  • GetAllUsers
  • GetUser
  • UpdateUser
  • ValidateUser

Das Mitgliedschaftsframework verwendet das Anbietermodell, das die API des Mitgliedschaftsframeworks sauber von der Implementierung trennt. Auf diese Weise können Entwickler eine allgemeine API verwenden, sie können jedoch eine Implementierung verwenden, die den benutzerdefinierten Anforderungen ihrer Anwendung entspricht. Kurz gesagt definiert die Membership-Klasse die wesentlichen Funktionen des Frameworks (methoden, Eigenschaften und Ereignisse), stellt jedoch keine Implementierungsdetails bereit. Stattdessen rufen die Methoden der Membership-Klasse den konfigurierten Anbieter auf, was die eigentliche Arbeit ausführt. Wenn beispielsweise die CreateUser-Methode der Mitgliedschaftsklasse aufgerufen wird, kennt die Membership-Klasse nicht die Details des Benutzerspeichers. Es ist nicht bekannt, 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 in .NET Framework:

Diese Lernprogrammreihe konzentriert sich ausschließlich auf den SqlMembershipProvider.

Mit dem Anbietermodell können unterschiedliche Implementierungen nahtlos an das Framework angeschlossen werden.

Abbildung 03: Mit dem Anbietermodell können unterschiedliche Implementierungen nahtlos an das Framework angeschlossen werden (Klicken Sie hier, 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. Beispielsweise hat Microsoft einen Mitgliedschaftsanbieter für Microsoft Access-Datenbanken veröffentlicht. Weitere Informationen zu den Mitgliedschaftsanbietern finden Sie im Provider Toolkit, das eine exemplarische Vorgehensweise der Mitgliedschaftsanbieter, Beispiel für benutzerdefinierte Anbieter, ü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 hat 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 das .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 Lernprogrammreihe 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 für diese API zu erstellen, ohne sich Gedanken über die Implementierungsdetails machen zu müssen – diese werden von den vom Seitenentwickler ausgewählten Anbietern behandelt. Diese einheitliche API ermöglicht Es Microsoft und Drittanbietern, Websteuerelemente zu erstellen, die mit den Mitgliedschafts- und Rollenframeworks schnittstelle. ASP.NET enthält eine Reihe von Login-Websteuerelementen für die Implementierung allgemeiner Benutzerkontenbenutzeroberflächen. Beispielsweise fordert das Anmeldesteuerelement einen Benutzer zur Eingabe seiner Anmeldeinformationen auf, überprüft sie, und protokolliert sie dann über die Formularauthentifizierung. Das LoginView-Steuerelement bietet Vorlagen zum Anzeigen unterschiedlicher Markups für anonyme Benutzer im Vergleich zu authentifizierten Benutzern oder unterschiedlichen Markups basierend auf der Rolle des Benutzers. Und das CreateUserWizard-Steuerelement stellt eine schrittweise Benutzeroberfläche zum Erstellen eines neuen Benutzerkontos bereit.

Unter den Abdeckungen interagieren die verschiedenen Anmeldesteuerelemente mit den Mitgliedschafts- und Rollenframeworks. Die meisten Anmeldesteuerelemente können implementiert werden, ohne eine einzelne Codezeile schreiben zu müssen. Wir werden diese Steuerelemente in zukünftigen Lernprogrammen 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 ihren Anmeldestatus über Seitenbesuche hinweg merken lassen; eine Webseite für neue Besucher, um ein Konto zu erstellen; und die Möglichkeit des Seitenentwicklers, anzugeben, welche Ressource, Daten und Funktionen für welche Benutzer oder Rollen verfügbar sind. Die Aufgaben der Authentifizierung und Autorisierung von Benutzern und der Verwaltung von Benutzerkonten und Rollen sind aufgrund von Formularauthentifizierung, URL-Autorisierung und Mitgliedschafts- und Rollenframeworks in ASP.NET Anwendungen bemerkenswert einfach zu erledigen.

Im Laufe der nächsten Lernprogramme werden wir diese Aspekte untersuchen, indem wir eine funktionierende Webanwendung von Grund auf schritt für Schritt erstellen. Im nächsten lernprogramm werden wir die Formularauthentifizierung im Detail untersuchen. Wir werden den Formularauthentifizierungsworkflow in Aktion sehen, das Formularauthentifizierungsticket schneiden, Sicherheitsbedenken besprechen und sehen, wie das Formularauthentifizierungssystem konfiguriert wird – alles während der Erstellung einer Webanwendung, die es Besuchern ermöglicht, sich anzumelden und abzumelden.

Glückliche Programmierung!

Weitere nützliche Informationen

Weitere Informationen zu den in diesem Lernprogramm 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 Web Technologies zusammen. Scott arbeitet als unabhängiger Berater, Trainer und Schriftsteller. Sein neuestes Buch ist Sams Teach Yourself ASP.NET 2.0 in 24 Stunden. Er kann über mitchell@4GuysFromRolla.com seinen Blog erreicht werden, der unter .http://ScottOnWriting.NET

Besonderer Dank an

Diese Lernprogrammreihe wurde von vielen hilfreichen Prüfern überprüft. Lead Reviewer für dieses Lernprogramm war diese Lernprogrammreihe wurde von vielen hilfreichen Bearbeitern überprüft. Leitende Prüfer für dieses Lernprogramm sind Alicja Maziarz, John Suru und Teresa Murphy. Möchten Sie meine bevorstehenden MSDN-Artikel überprüfen? Wenn dies der Fall ist, legen Sie mir eine Zeile bei mitchell@4GuysFromRolla.com.