Aktualisiert: 05. Mai 2004
.gif)
Auf dieser Seite
Zielsetzung
Betrifft
Verwendung dieses Moduls
Zusammenfassung
Benötigte Kenntnisse
Erstellen einer Webanwendung mit einer Anmeldeseite
Konfigurieren der Webanwendung für die Formularauthentifizierung
Erzeugen eines Authentifizierungstickets für authentifizierte Benutzer
Erstellen der Objekte "GenericPrincipal" und "FormsIdentity"
Testen der Anwendung
Weitere Ressourcen
Zielsetzung
Themenbereiche:
-
Erstellen einer Webanwendung, in der die Formularauthentifizierung verwendet und ein GenericPrincipal-Objekt mit der Identität und den Rollen des authentifizierten Benutzers gefüllt wird, um eine rollenbasierte .NET-Autorisierung vorzunehmen
Betrifft
Die Informationen in diesem Modul gelten für folgende Produkte und Technologien:
-
Microsoft Windows® XP oder Windows 2000 Server (mit Service Pack 3) und höhere Betriebssysteme
-
Microsoft .NET Framework Version 1.0 (mit Service Pack 2) und höhere Versionen
-
Microsoft Visual Studio® 1.0 .NET und höhere Versionen
-
Microsoft Visual C#® .NET
Verwendung dieses Moduls
Empfehlungen für eine erfolgreiche Arbeit mit diesem Modul:
Zusammenfassung
Um innerhalb einer Webanwendung die rollenbasierte Sicherheit in Microsoft .NET mit einem benutzerdefinierten Authentifizierungsmechanismus zu verwenden, der nicht auf Windows-Konten basiert, müssen Sie die direkte Verantwortung für die Erstellung von ASP.NET-Authentifizierungstickets und für die Konfiguration von IPrincipal-Instanzen übernehmen. Diese stellen die Identitäten und Rollen der authentifizierten Benutzer dar.
In diesem Modul wird die Erstellung einer Webanwendung beschrieben, in der die Formularauthentifizierung verwendet wird, um Benutzer zu authentifizieren und ein Authentifizierungsticket zu erstellen, das Benutzer- und Rolleninformationen enthält. Darüber hinaus wird dargestellt, wie diese Informationen in GenericPrincipal- und FormsIdentity-Objekten zugeordnet werden, so dass sie für die Autorisierungslogik in Ihrer Anwendung verwendet werden können.
Benötigte Kenntnisse
Bei Anwendungen, die mit Formularauthentifizierung arbeiten, wird häufig die GenericPrincipal-Klasse (in Verbindung mit der FormsIdentity-Klasse) zum Erstellen eines nicht Windows-spezifischen Autorisierungsschemas unabhängig von einer Windows-Domäne verwendet.
Für die Anwendung bestehen in diesem Zusammenhang die folgenden Möglichkeiten:
-
Verwenden der Formularauthentifizierung zur Anforderung der Anmeldeinformationen der Benutzer (Benutzername und Kennwort).
-
Überprüfen der übergebenen Anmeldeinformationen anhand eines Datenspeichers, z. B. einer Datenbank oder des Verzeichnisdienstes Microsoft Active Directory®.
-
Erstellen der Objekte GenericPrincipal und FormsIdentity basierend auf Werten, die aus dem Datenspeicher abgerufen wurden. Diese können Details zur Rollenmitgliedschaft eines Benutzers umfassen.
-
Verwenden dieser Objekte zum Treffen von Autorisierungsentscheidungen.
Nachstehend wird erläutert, wie eine formularbasierte Webanwendung erstellt wird, die den Benutzer authentifiziert und ein benutzerdefiniertes Formularauthentifizierungsticket erstellt, das Benutzer- und Rolleninformationen umfasst. Darüber hinaus wird gezeigt, wie diese Informationen den Objekten GenericPrincipal und FormsIdentity zugeordnet und die neuen Objekte mit dem HTTP-Webanforderungskontext verbunden werden. Dadurch ist es möglich, die Objekte in die Autorisierungslogik der Anwendung zu integrieren.
In diesem Modul steht die Erstellung der Objekte GenericPrincipal und FormsIdentity sowie die Verarbeitung des Formularauthentifizierungstickets im Mittelpunkt. Informationen zur Authentifizierung von Benutzern für die Active Directory und SQL Server 2000 finden Sie in den folgenden Modulen dieses Handbuches:
Erstellen einer Webanwendung mit einer Anmeldeseite
Mit diesem Verfahren wird eine neue ASP.NET-Webanwendung erstellt. Die Anwendung enthält zwei Seiten, eine Standardseite, auf die nur authentifizierte Benutzer zugreifen können, und eine Anmeldeseite für die Eingabe der Anmeldeinformationen.
Konfigurieren der Webanwendung für die Formularauthentifizierung
Erzeugen eines Authentifizierungstickets für authentifizierte Benutzer
In diesem Verfahren wird der Code zum Erzeugen des Authentifizierungstickets für authentifizierte Benutzer geschrieben. Das Authentifizierungsticket ist eine Art Cookie, das vom FormsAuthenticationModule von ASP.NET verwendet wird.
Der Authentifizierungscode umfasst in der Regel das Nachschlagen des übergebenen Benutzernamens und des Kennworts, und zwar entweder in einer benutzerdefinierten Datenbank oder in der Active Directory.
Weitere Informationen darüber finden Sie in den folgenden Modulen dieses Handbuches:
Erstellen der Objekte "GenericPrincipal" und "FormsIdentity"
Mit diesem Verfahren wird ein Ereignishandler für die Anwendungsauthentifizierung implementiert: Basierend auf den Informationen im Authentifizierungsticket werden die Objekte GenericPrincipal und FormsIdentity erstellt.
Testen der Anwendung
Mit diesem Verfahren wird der Seite default.aspx Code hinzugefügt, um Informationen aus dem GenericPrincipal-Objekt anzuzeigen, das an das aktuelle HttpContext-Objekt angefügt wurde. So wird sichergestellt, dass das Objekt ordnungsgemäß erstellt und der aktuellen Webanforderung zugewiesen wurde. Anschließend erstellen und testen Sie die Anwendung.
Weitere Ressourcen
Weitere Informationen hierzu finden Sie in den folgenden ähnlichen Modellen in diesem Handbuch: