Condividi tramite


Provider di gestione dei ruoli

Aggiornamento: novembre 2007

I servizi di gestione dei ruoli utilizzano il modello del provider per tenere separare le funzionalità della gestione dei ruoli, ovvero le API, dall'origine dati in cui sono contenute le informazioni sui ruoli. In .NET Framework sono disponibili i seguenti provider che mantengono le informazioni sui ruoli in archivi dati diversi:

  • SQL Server. Le informazioni sui ruoli vengono archiviate in un database di SQL Server. Il provider SQL è particolarmente adatto per applicazioni Internet di medie o grandi dimensioni ed è il provider predefinito.

  • Windows (WindowsToken). Le informazioni sui ruoli si basano su account Windows (Users e Groups). Il provider Windows è utile solo se l'applicazione viene eseguita in una rete in cui tutti gli utenti dispongono di account di dominio.

  • Gestione autorizzazioni (AzMan). Le informazioni sui ruoli vengono gestite tramite un file XML della funzionalità di gestione delle autorizzazioni oppure tramite un archivio di criteri basato su directory.

È possibile specificare un provider impostando l'attributo defaultProvider durante la configurazione della gestione dei ruoli nel file Web.config dell'applicazione. Per specificare ad esempio l'istanza del provider dei ruoli con il nome "SQL", inserire la voce indicata di seguito nell'Elemento roleManager (schema delle impostazioni ASP.NET) del file di configurazione:

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

I ruoli possono utilizzare lo stesso database di cui si usufruisce per i servizi di appartenenza e il profilo utente. È tuttavia possibile specificare un provider diverso per ciascuno di questi servizi. Per informazioni sulla configurazione del database di gestione dei ruoli, vedere Creazione e configurazione del database dei servizi dell'applicazione per SQL Server.

Se si specifica il provider WindowsTokenRoleProvider, è anche necessario configurare l'applicazione per l'utilizzo dell'autenticazione di Windows con una voce nel file Web.config analoga alla seguente:

<authentication mode="Windows" />

La maggior parte delle funzioni delle API di gestione dei ruoli non sono supportate dal provider WindowsTokenRoleProvider. Quando ad esempio si utilizza il provider WindowsTokenRoleProvider, non è possibile avvalersi della gestione dei ruoli per creare gruppi o per aggiungere utenti ai gruppi. Queste funzioni devono essere eseguite in Windows.

Provider personalizzati di gestione dei ruoli

È possibile creare anche un provider di gestione dei ruoli personalizzato, che consente di definire una modalità di archiviazione personalizzata o di utilizzare un archivio di informazioni sui ruoli esistente. La strategia generale prevede la creazione di una classe che eredita la classe astratta RoleProvider. La classe RoleProvider identifica i metodi definiti dal provider, essenzialmente gli stessi presenti nella classe Roles.

Una volta creato un provider personalizzato, è possibile configurare l'applicazione per l'utilizzo del provider seguendo la stessa procedura adottata per configurare l'applicazione per l'utilizzo di un provider fornito con .NET Framework. Il sistema di gestione dei ruoli chiamerà automaticamente il provider personalizzato e i metodi ad esso relativi.

Per ulteriori informazioni, vedere Implementazione di un provider di ruoli.

Vedere anche

Concetti

Informazioni sulla gestione dei ruoli

Classi di gestione ruoli

Altre risorse

Sicurezza dei siti Web ASP.NET