SqlRoleProvider Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Gestisce l'archiviazione delle informazioni sull'appartenenza ai ruoli per un'applicazione ASP.NET in un database SQL Server.
public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
- Ereditarietà
Esempio
Nell'esempio seguente viene illustrato il file di Web.config per un'applicazione ASP.NET configurata per l'uso di un oggetto SqlRoleProvider e dell'SqlMembershipProvider. L'elemento authorization è configurato per consentire l'accesso solo agli utenti autenticati nel ruolo Administrators.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="logincs.aspx"
name=".ASPXFORMSAUTH" />
</authentication>
<authorization>
<deny users="?" />
<allow roles="Administrators" />
<deny users="*" />
</authorization>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="false"
requiresQuestionAndAnswer="false"
passwordFormat="Hashed"
applicationName="SampleApplication" />
</providers>
</membership>
<roleManager defaultProvider="SqlProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="true"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="SqlServices"
applicationName="SampleApplication" />
</providers>
</roleManager>
</system.web>
</configuration>
Commenti
Questa classe viene usata dalle classi Roles e RolePrincipal per fornire servizi di gestione dei ruoli per un'applicazione ASP.NET usando un database SQL Server. È possibile usare la gestione dei ruoli per specificare diversi livelli di autorizzazione per l'applicazione.
Per usare la classe SqlRoleProvider, è prima necessario creare il database SQL Server usato dal SqlRoleProvider. Per creare il database usato dalla classe SqlRoleProvider, eseguire l'eseguibile aspnet_regsql.exe disponibile nella cartella C:\WINDOWS\Microsoft.NET\Framework\ versionNumber e specificare l'opzione -Ar (ad esempio, aspnet_regsql.exe -Ar). Il database creato è denominato Aspnetdb. In alternativa, eseguire aspnet_regsql.exe per eseguire il pull della modalità di configurazione dell'interfaccia utente grafica e scegliere di configurare tutte le funzionalità di ASP.NET.
Se il provider di ruoli è configurato con un stringa di connessione che usa la sicurezza integrata, l'account di processo dell'applicazione ASP.NET deve disporre dei diritti per connettersi al database SQL Server.
Il file Machine.config viene configurato con un'istanza di SqlRoleProvider denominata AspNetSqlProvider che si connette al SQL Server nel computer locale. È possibile usare questa istanza del provider o specificare il proprio nel file di Web.config per l'applicazione ASP.NET. Per usare l'istanza di AspNetSqlProvider, specificare AspNetSqlProvider come defaultProvider nella configurazione.
È possibile configurare per l'utilizzo SqlRoleProvider dello stesso database e delle stesse informazioni SqlMembershipProvider utente di per poter utilizzare un singolo database per le informazioni di autenticazione e autorizzazione. Per usare lo stesso database per le informazioni sull'appartenenza e sul ruolo, eseguire il aspnet_regsql.exe eseguibile e installare la funzionalità di appartenenza. Specificare quindi lo stesso stringa di connessione nella configurazione per le istanze di SqlRoleProvider e SqlMembershipProvider. Assicurarsi anche che entrambe le istanze del provider siano configurate con lo stesso ApplicationName.
Costruttori
| Nome | Descrizione |
|---|---|
| SqlRoleProvider() |
Crea un'istanza della classe SqlRoleProvider. |
Proprietà
| Nome | Descrizione |
|---|---|
| ApplicationName |
Ottiene o imposta il nome dell'applicazione per cui archiviare e recuperare le informazioni sul ruolo. |
| Description |
Ottiene una breve descrizione descrittiva adatta per la visualizzazione negli strumenti di amministrazione o in altre interfacce utente. (Ereditato da ProviderBase) |
| Name |
Ottiene il nome descrittivo utilizzato per fare riferimento al provider durante la configurazione. (Ereditato da ProviderBase) |
Metodi
| Nome | Descrizione |
|---|---|
| AddUsersToRoles(String[], String[]) |
Aggiunge i nomi utente specificati a ognuno dei ruoli specificati. |
| CreateRole(String) |
Aggiunge un nuovo ruolo al database del ruolo. |
| DeleteRole(String, Boolean) |
Rimuove un ruolo dal database del ruolo. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| FindUsersInRole(String, String) |
Ottiene una matrice di nomi utente in un ruolo in cui il nome utente contiene il nome utente specificato da trovare. |
| GetAllRoles() |
Ottiene un elenco di tutti i ruoli per l'applicazione. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetRolesForUser(String) |
Ottiene un elenco dei ruoli in cui si trova un utente. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| GetUsersInRole(String) |
Ottiene un elenco di utenti nel ruolo specificato. |
| Initialize(String, NameValueCollection) |
Inizializza il provider di ruoli SQL Server con i valori delle proprietà specificati nel file di configurazione dell'applicazione ASP.NET. Questo metodo non deve essere usato direttamente dal codice. |
| IsUserInRole(String, String) |
Ottiene un valore che indica se l'utente specificato si trova nel ruolo specificato. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| RemoveUsersFromRoles(String[], String[]) |
Rimuove i nomi utente specificati dai ruoli specificati. |
| RoleExists(String) |
Ottiene un valore che indica se il nome del ruolo specificato esiste già nel database del ruolo. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |