Freigeben über


Rollenverwaltungsanbieter

Aktualisiert: November 2007

Rollenverwaltungsdienste verwenden das Anbietermodell, um den funktionellen Teil der Rollenverwaltung – die API – vom Datenspeicher mit den Rolleninformationen zu trennen. In .NET Framework gibt es die folgenden Rollenverwaltungsanbieter, die sich nach der Art des Datenspeichers unterscheiden:

  • SQL Server. Die Rolleninformationen werden in einer SQL Server-Datenbank gespeichert. Der SQL-Anbieter ist für mittlere bis große Internetanwendungen geeignet. Dies ist der Standardanbieter.

  • Windows (WindowsToken). Die Rolleninformationen basieren auf Windows-Konten (Benutzer und Gruppen). Der Windows-Anbieter eignet sich nur für Anwendungen, die in einem Netzwerk ausgeführt werden, bei dem jeder Benutzer ein Domänenkonto hat.

  • Autorisierungs-Manager (AzMan). Die Rolleninformationen werden mit einer XML-Datei des Autorisierungs-Managers oder über einen verzeichnisbasierten Richtlinienspeicher verwaltet.

Sie bestimmen den Anbieter für eine Anwendung, indem Sie bei der Konfiguration der Rollenverwaltung in der Datei Web.config das defaultProvider-Attribut festlegen. Um beispielsweise die Rollenanbieterinstanz "SQL" zu verwenden, müssen Sie in der Konfigurationsdatei unter roleManager-Element (ASP.NET-Einstellungsschema) folgenden Eintrag vornehmen:

<roleManager 
   defaultProvider="SQL"enabled="true" 
   cacheRolesInCookie="true" >
</roleManager>

Sie können für Rollen dieselbe Datenbank nutzen, die Sie auch für Mitgliedschaftsdienste und das Benutzerprofil verwenden. Sie haben aber auch die Möglichkeit, für die einzelnen Dienste jeweils unterschiedliche Anbieter anzugeben. Informationen zur Konfiguration der Rollenverwaltungsdatenbank finden Sie unter Erstellen und Konfigurieren der Datenbank für die Anwendungsdienste für SQL Server.

Wenn Sie den WindowsTokenRoleProvider-Anbieter angeben, müssen Sie die Anwendung auch für die Windows-Authentifizierung konfigurieren. Ein entsprechender Eintrag in der Datei Web.config könnte wie folgt aussehen:

<authentication mode="Windows" />

Das WindowsTokenRoleProvider-Objekt unterstützt nur die wenigsten der Verwaltungsfunktionen der Rollenverwaltungs-API. Wenn Sie den WindowsTokenRoleProvider-Anbieter verwenden, können Sie beispielsweise mit der Rollenverwaltung weder Gruppen erstellen noch Benutzer zu Gruppen hinzufügen. Stattdessen müssen Sie diese Funktionen in Windows ausführen.

Benutzerdefinierte Rollenverwaltungsanbieter

Sie können auch einen benutzerdefinierten Rollenverwaltungsanbieter erstellen. Auf diese Weise können Sie Ihren eigenen Speicher für Rolleninformationen definieren oder einen bereits bestehenden Rolleninformationsspeicher verwenden. Die allgemeine Strategie sieht vor, dass Sie eine Klasse erstellen, die die abstrakte Klasse RoleProvider erbt. Die RoleProvider-Klasse erkennt die Methoden, die von Ihrem Anbieter definiert sind. Diese Methoden sind im Wesentlichen mit denen der Roles-Klasse identisch.

Nachdem Sie einen benutzerdefinierten Rollenanbieter erstellt haben, können Sie Ihre Anwendung auf die gleiche Weise für die Verwendung dieses Anbieters konfigurieren wie für die Verwendung eines .NET Framework-Anbieters. Das Rollenverwaltungssystem ruft dann automatisch den benutzerdefinierten Anbieter und die entsprechenden Methoden auf.

Weitere Informationen finden Sie unter Implementieren eines Rollenanbieters.

Siehe auch

Konzepte

Grundlegende Informationen über die Rollenverwaltung

Rollenverwaltungsklassen

Weitere Ressourcen

Sichern von ASP.NET-Websites