SqlRoleProvider Classe

Definizione

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à
SqlRoleProvider

Esempio

Nell'esempio seguente viene illustrato il file Web.config per un'applicazione ASP.NET configurata per l'uso di un SqlRoleProvider oggetto e di 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 Roles classi 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 SqlRoleProvider classe , è innanzitutto necessario creare il database SQL Server utilizzato da SqlRoleProvider. Per creare il database usato dalla SqlRoleProvider classe , eseguire l'eseguibile aspnet_regsql.exe trovato 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 una stringa di connessione che utilizza la sicurezza integrata, l'account del processo dell'applicazione ASP.NET deve disporre dei diritti per la connessione al database SQL Server.

Il file Machine.config viene configurato con un'istanza 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 l'oggetto SqlRoleProvider in modo che usi lo stesso database e le stesse informazioni SqlMembershipProvider utente di per usare un database singolo 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 la stessa stringa di connessione nella configurazione per le SqlRoleProvider istanze e SqlMembershipProvider . Assicurarsi inoltre che entrambe le istanze del provider siano configurate con lo stesso ApplicationName.

Costruttori

SqlRoleProvider()

Crea un'istanza della classe SqlRoleProvider.

Proprietà

ApplicationName

Ottiene o imposta il nome dell'applicazione per cui archiviare e recuperare le informazioni sui ruoli.

Description

Ottiene una breve descrizione di facile comprensione che è possibile visualizzare in strumenti di amministrazione o in altre interfacce utente (UI, User Interface).

(Ereditato da ProviderBase)
Name

Ottiene il nome descrittivo utilizzato per fare riferimento al provider durante la configurazione.

(Ereditato da ProviderBase)

Metodi

AddUsersToRoles(String[], String[])

Aggiunge i nomi utente specificati a ognuno dei ruoli specificati.

CreateRole(String)

Aggiunge un nuovo ruolo al database dei ruoli.

DeleteRole(String, Boolean)

Rimuove un ruolo dal database dei ruoli.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindUsersInRole(String, String)

Ottiene una matrice di nomi utente con un ruolo in cui il nome utente contiene il nome utente specificato di cui verificare la corrispondenza.

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 di ruoli a cui appartiene un utente.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetUsersInRole(String)

Ottiene un elenco di utenti appartenenti al 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 appartiene al ruolo specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
RemoveUsersFromRoles(String[], String[])

Consente di rimuovere i nomi utente specificati dai ruoli specificati.

RoleExists(String)

Ottiene un valore che indica se il nome del ruolo specificato esiste già nel database dei ruoli.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche