Vorgehensweise: Verwenden des Rollenanbieters für den ASP.NET bei einem DienstHow to: Use the ASP.NET Role Provider with a Service

Der ASP.NETASP.NET-Rollenanbieter (zusammen mit dem ASP.NETASP.NET-Mitgliedschaftsanbieter) ist eine Funktion für ASP.NETASP.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.The ASP.NETASP.NET role provider (in conjunction with the ASP.NETASP.NET membership provider) is a feature that enables ASP.NETASP.NET developers to create Web sites that allow users to create an account with a site and to be assigned roles for authorization purposes. 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.With this feature, any user can establish an account with the site, and log in for exclusive access to the site and its services. Dies steht im Gegensatz zur Windows-Sicherheit, bei der die Benutzer über Konten in einer Windows-Domäne verfügen müssen.This is in contrast to Windows security, which requires users to have accounts in a Windows domain. Stattdessen kann jeder Benutzer, der seine Anmeldeinformationen (eine Kombination aus Benutzername/Kennwort) angibt, die Site und ihre Dienste nutzen.Instead, any user who supplies his or her credentials (the user name/password combination) can use the site and its services.

Eine beispielanwendung finden Sie unter Mitgliedschafts- und Rollenanbieter.For a sample application, see Membership and Role Provider. Weitere Informationen zu den ASP.NETASP.NET Anbieter Mitgliedschaftsfunktion, finden Sie unter wie: Verwenden Sie den ASP.NET-Mitgliedschaftsanbieter.For more information about the ASP.NETASP.NET membership provider feature, see How to: Use the ASP.NET Membership Provider.

Die Rollenanbieterfunktion verwendet eine SQL Server-Datenbank zum Speichern von Benutzerinformationen.The role provider feature uses a SQL Server database to store user information. Windows Communication Foundation (WCF)-Entwickler können diese Funktionen für Sicherheitszwecke nutzen.Windows Communication Foundation (WCF) developers can take advantage of these features for security purposes. Wenn in einer WCF-Anwendung integriert wird, müssen Benutzer eine Kombination aus Benutzername/Kennwort an die WCF-Clientanwendung angeben.When integrated into a WCF application, users must supply a user name/password combination to the WCF client application. Um WCF für die Verwendung der Datenbank zu aktivieren, erstellen Sie eine Instanz von der ServiceAuthorizationBehavior Klasse, legen die PrincipalPermissionMode Eigenschaft, um UseAspNetRoles, und fügen Sie die Instanz auf die Auflistung von Verhalten der ServiceHost , die den Dienst hostet.To enable WCF to use the database, you must create an instance of the ServiceAuthorizationBehavior class, set its PrincipalPermissionMode property to UseAspNetRoles, and add the instance to the collection of behaviors to the ServiceHost that is hosting the service.

So konfigurieren Sie den RollenanbieterTo configure the role provider

  1. In der Datei "Web.config" unter der <system.web>-Element hinzufügen einer <roleManager> Element, und legen seine enabled -Attribut auf true.In the Web.config file, under the <system.web> element, add a <roleManager> element and set its enabled attribute to true.

  2. Legen Sie das defaultProvider-Attribut auf SqlRoleProvider fest.Set the defaultProvider attribute to SqlRoleProvider.

  3. Als untergeordnetes Element der <roleManager>-Element hinzufügen einer <providers> Element.As a child to the <roleManager> element, add a <providers> element.

  4. Als untergeordnetes Element der <providers>-Element, Hinzufügen einer <add>-Element mit den folgenden Attributen auf die entsprechenden Werte festgelegt: name, type, connectionStringName, und applicationName, wie im folgenden Beispiel gezeigt.As a child to the <providers> element, add an <add> element with the following attributes set to appropriate values: name, type, connectionStringName, and applicationName, as shown in the following example.

    <!-- 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 RollenanbietersTo configure the service to use the role provider

  1. In der Datei "Web.config" Hinzufügen einer <system.serviceModel > Element.In the Web.config file, add a <system.serviceModel> element.

  2. Hinzufügen einer <Verhalten > Element auf der <system.ServiceModel> Element.Add a <behaviors> element to the <system.ServiceModel> element.

  3. Hinzufügen einer <ServiceBehaviors > auf der <behaviors> Element.Add a <serviceBehaviors> to the <behaviors> element.

  4. Hinzufügen einer <Verhalten > Element, und legen die name -Attribut auf einen geeigneten Wert.Add a <behavior> element and set the name attribute to an appropriate value.

  5. Hinzufügen einer <ServiceAuthorization > auf der <behavior> Element.Add a <serviceAuthorization> to the <behavior> element.

  6. Legen Sie das principalPermissionMode-Attribut auf UseAspNetRoles fest.Set the principalPermissionMode attribute to UseAspNetRoles.

  7. Legen Sie das roleProviderName-Attribut auf SqlRoleProvider fest.Set the roleProviderName attribute to SqlRoleProvider. Im folgenden Beispiel wird ein Fragment der Konfiguration dargestellt.The following example shows a fragment of the configuration.

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

Siehe auchSee Also

Mitgliedschafts- und RollenanbieterMembership and Role Provider
Vorgehensweise: Verwenden des ASP.NET-MitgliedschaftsanbietersHow to: Use the ASP.NET Membership Provider