Procedura: usare il provider di ruoli ASP.NET con un servizioHow to: Use the ASP.NET Role Provider with a Service

Il provider di ruoli ASP.NETASP.NET (insieme al provider di appartenenza ASP.NETASP.NET) è una funzionalità grazie alla quale gli sviluppatori ASP.NETASP.NET sono in grado di creare siti Web che consentono agli utenti di creare un account in un sito e di acquisire ruoli a scopo di autorizzazione.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. Con questa funzionalità qualsiasi utente può stabilire un account nel sito e accedere in modo esclusivo al sito e ai relativi servizi.With this feature, any user can establish an account with the site, and log in for exclusive access to the site and its services. Si tratta di una funzionalità in contrasto con la protezione di Windows, in base alla quale è necessario che gli utenti dispongano di un account in un dominio Windows.This is in contrast to Windows security, which requires users to have accounts in a Windows domain. Qualsiasi utente che fornisca le credenziali (ovvero nome utente e password) può utilizzare il sito e i relativi servizi.Instead, any user who supplies his or her credentials (the user name/password combination) can use the site and its services.

Per un'applicazione di esempio, vedere Provider di appartenenze e ruoli.For a sample application, see Membership and Role Provider. Per ulteriori informazioni sul ASP.NETASP.NET funzionalità del provider di appartenenza, vedere procedura: utilizzare il Provider di appartenenze ASP.NET.For more information about the ASP.NETASP.NET membership provider feature, see How to: Use the ASP.NET Membership Provider.

La funzionalità del provider di ruoli utilizza un database SQL Server per archiviare informazioni utente.The role provider feature uses a SQL Server database to store user information. Gli sviluppatori di Windows Communication Foundation (WCF) possono sfruttare queste funzionalità per motivi di sicurezza.Windows Communication Foundation (WCF) developers can take advantage of these features for security purposes. Quando è integrato in un'applicazione WCF, gli utenti devono fornire una combinazione nome utente/password per l'applicazione client WCF.When integrated into a WCF application, users must supply a user name/password combination to the WCF client application. Per abilitare WCF di utilizzare il database, è necessario creare un'istanza del ServiceAuthorizationBehavior , impostare il relativo PrincipalPermissionMode proprietà da UseAspNetRolese aggiungere l'istanza alla raccolta di comportamenti al ServiceHost che ospita il servizio.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.

Per configurare il provider di ruoliTo configure the role provider

  1. Nel file Web. config, sotto il <system.web> elemento, aggiungere un <roleManager> elemento e impostare il relativo enabled attributo true.In the Web.config file, under the <system.web> element, add a <roleManager> element and set its enabled attribute to true.

  2. Impostare l'attributo defaultProvider su SqlRoleProvider.Set the defaultProvider attribute to SqlRoleProvider.

  3. Come elemento figlio di <roleManager> elemento, aggiungere un <providers> elemento.As a child to the <roleManager> element, add a <providers> element.

  4. Come elemento figlio di <providers> elemento, aggiungere un <add> elemento con i seguenti attributi impostati su valori appropriati: name, type, connectionStringName, e applicationName, come illustrato nell'esempio seguente.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>  
    

Per configurare il servizio per l'utilizzo del provider di ruoliTo configure the service to use the role provider

  1. Nel file Web. config, aggiungere un <System. ServiceModel > elemento.In the Web.config file, add a <system.serviceModel> element.

  2. Aggiungere un <comportamenti > elemento per il <system.ServiceModel> elemento.Add a <behaviors> element to the <system.ServiceModel> element.

  3. Aggiungere un <serviceBehaviors > per il <behaviors> elemento.Add a <serviceBehaviors> to the <behaviors> element.

  4. Aggiungere un <comportamento > elemento e impostare il name attributo su un valore appropriato.Add a <behavior> element and set the name attribute to an appropriate value.

  5. Aggiungere un <serviceAuthorization > per il <behavior> elemento.Add a <serviceAuthorization> to the <behavior> element.

  6. Impostare l'attributo principalPermissionMode su UseAspNetRoles.Set the principalPermissionMode attribute to UseAspNetRoles.

  7. Impostare l'attributo roleProviderName su SqlRoleProvider.Set the roleProviderName attribute to SqlRoleProvider. Nell'esempio seguente viene illustrata una parte della configurazione.The following example shows a fragment of the configuration.

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

Vedere ancheSee Also

Provider di appartenenza e di ruoliMembership and Role Provider
Procedura: Usare provider di appartenenza ASP.NETHow to: Use the ASP.NET Membership Provider