Freigeben über


Vorgehensweise: Verwenden des Rollenanbieters für den ASP.NET bei einem Dienst

Der ASP.NET-Rollenanbieter (zusammen mit dem ASP.NET-Mitgliedschaftsanbieter) ist eine Funktion für ASP.NET-Entwickler zum Erstellen von Websites, mit denen die Benutzer ein Konto auf einer Site erstellen können. Außerdem können ihnen Rollen für die Autorisierung zugewiesen werden. Jeder Benutzer kann mit dieser Funktion ein Konto auf dieser Site erstellen und sich für den exklusiven Zugriff auf diese Site und ihre Dienste anmelden. Dies steht im Gegensatz zur Windows-Sicherheit, bei der die Benutzer über Konten in einer Windows-Domäne verfügen müssen. Stattdessen kann jeder Benutzer, der seine Anmeldeinformationen (eine Kombination aus Benutzername/Kennwort) angibt, die Site und ihre Dienste nutzen.

Eine Beispielanwendung finden Sie unter Mitgliedschafts- und Rollenanbieter. Weitere Informationen über zur ASP.NET-Mitgliedschaftsanbieterfunktion finden Sie unter Gewusst wie: Verwenden des ASP.NET-Mitgliedschaftsanbieters.

Die Rollenanbieterfunktion verwendet eine SQL Server-Datenbank zum Speichern von Benutzerinformationen. Windows Communication Foundation (WCF)-Entwickler können diese Funktionen für Sicherheitszwecke nutzen. Wenn sie in eine WCF-Anwendung integriert sind, müssen die Benutzer der WCF-Clientanwendung eine Kombination aus Benutzername/Kennwort bereitstellen. Damit WCF die Datenbank verwenden kann, müssen Sie eine Instanz der ServiceAuthorizationBehavior-Klasse erstellen, ihre PrincipalPermissionMode-Eigenschaft auf UseAspNetRoles festlegen und die Instanz zu der Verhaltensauflistung zum ServiceHost hinzufügen, der den Dienst hostet.

So konfigurieren Sie den Rollenanbieter

  1. Fügen Sie in der Datei Web.config unter dem <system.web>-Element ein <roleManager>-Element hinzu, und legen Sie das enabled-Attribut auf true fest.

  2. Legen Sie das defaultProvider-Attribut auf SqlRoleProvider fest.

  3. Fügen Sie ein <providers>-Element als untergeordnetes Element des <roleManager>-Elements hinzu.

  4. Fügen Sie ein <add>-Element als untergeordnetes Element zum <providers>-Element hinzu, wobei die folgenden Attribute auf die entsprechenden Werte festgelegt werden sollten: name, type, connectionStringName und applicationName, wie im folgenden Beispiel dargestellt.

    <!-- Configure the Sql Role Provider. -->
    <roleManager enabled ="true" 
     defaultProvider ="SqlRoleProvider" >
       <providers>
         <add name ="SqlRoleProvider" 
           type="System.Web.Security.SqlRoleProvider" 
           connectionStringName="SqlConn" 
           applicationName="MembershipAndRoleProviderSample"/>
       </providers>
    </roleManager>
    

So konfigurieren Sie den Dienst für die Verwendung des Rollenanbieters

  1. Fügen Sie in der Datei Web.config ein <system.ServiceModel>-Element hinzu.

  2. Fügen Sie dem <system.ServiceModel>-Element ein <behaviors>Element hinzu.

  3. Fügen Sie dem <behaviors>-Element ein serviceBehaviors section-Element hinzu.

  4. Fügen Sie ein Behavior element-Element hinzu, und legen Sie das name-Attribut auf einen passenden Wert fest.

  5. Fügen Sie dem <behavior>-Element ein <serviceAuthorization> element-Element hinzu.

  6. Legen Sie das principalPermissionMode-Attribut auf UseAspNetRoles fest.

  7. Legen Sie das roleProviderName-Attribut auf SqlRoleProvider fest. Im folgenden Beispiel wird ein Fragment der Konfiguration dargestellt.

    <behaviors>
     <serviceBehaviors>
      <behavior name="CalculatorServiceBehavior">
       <serviceAuthorization principalPermissionMode ="UseAspNetRoles"
                             roleProviderName ="SqlRoleProvider" />
      </behavior>
     </serviceBehaviors>
    </behaviors>
    

Siehe auch

Aufgaben

Mitgliedschafts- und Rollenanbieter
Gewusst wie: Verwenden des ASP.NET-Mitgliedschaftsanbieters