Condividi tramite


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 di Web.config per un'applicazione ASP.NET configurata per l'uso di un SqlRoleProvider oggetto e dell'oggetto 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 di SQL Server. È possibile usare la gestione dei ruoli per specificare diversi livelli di autorizzazione per l'applicazione.

Per usare la classe, è prima necessario creare il SqlRoleProvider database SQL Server usato da SqlRoleProvider. Per creare il database usato dalla SqlRoleProvider classe, eseguire il aspnet_regsql.exe file eseguibile 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 gui e scegliere di configurare tutte le funzionalità ASP.NET.

Se il provider di ruoli è configurato con una stringa di connessione che usa la sicurezza integrata, l'account di processo dell'applicazione ASP.NET deve avere diritti per connettersi al database di SQL Server.

Il file Machine.config è configurato con un'istanza SqlRoleProvider denominata AspNetSqlProvider che si connette a 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 nella defaultProvider configurazione.

È possibile configurare l'oggetto SqlRoleProvider per usare lo stesso database e le informazioni utente dell'utente SqlMembershipProvider per usare 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 file eseguibile aspnet_regsql.exe e installare la funzionalità di appartenenza. Specificare quindi la stessa stringa di connessione nella configurazione sia per le istanze che SqlMembershipProvider per le SqlRoleProvider istanze. Assicurarsi anche che entrambe le istanze del provider siano configurate con la stessa 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