SqlMembershipProvider Classe

Definizione

Gestisce l'archiviazione delle informazioni sull'appartenenza per un'applicazione ASP.NET in un database SQL Server.

public ref class SqlMembershipProvider : System::Web::Security::MembershipProvider
public class SqlMembershipProvider : System.Web.Security.MembershipProvider
type SqlMembershipProvider = class
    inherit MembershipProvider
Public Class SqlMembershipProvider
Inherits MembershipProvider
Ereditarietà
SqlMembershipProvider

Esempio

Nell'esempio di codice seguente viene illustrato il file Web.config per un'applicazione ASP.NET configurata per l'uso di .SqlMembershipProvider

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
    <membership defaultProvider="SqlProvider"
      userIsOnlineTimeWindow="15">
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          applicationName="MyApplication"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          requiresUniqueEmail="false"
          passwordFormat="Hashed"
          maxInvalidPasswordAttempts="5"
          passwordAttemptWindow="10" />
      </providers>
    </membership>
  </system.web>
</configuration>

Commenti

Note

ASP.NET provider di appartenenze sono stati sostituiti da ASP.NET Identity. È consigliabile aggiornare le app per usare ASP.NET Identity Platform anziché i provider di appartenenza.

Questa classe viene usata dalle classi Membership e MembershipUser per fornire servizi di appartenenza per un'applicazione ASP.NET usando un database SQL Server. Non è possibile usare un SqlMembershipProvider senza SQL Server. Quando nel computer è installato SQL Server Express con il nome dell'istanza predefinito e l'istanza utente abilitata, l'oggetto SqlMembershipProvider creerà un database denominato aspnetdb nella directory App_Data dell'applicazione la prima volta che viene eseguita l'applicazione.

Per creare manualmente il database, eseguire l'eseguibile Aspnet_regsql.exe presente nella cartella %systemroot%\Microsoft.NET\Framework\ versionNumber e specificare l'opzione -A m (ad esempio aspnet_regsql.exe -A m). 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à ASP.NET.

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

Il file Machine.config definisce un'istanza predefinita SqlMembershipProvider denominata AspNetSqlMembershipProvider che si connette all'istanza predefinita di SQL Server Express nel computer locale. È possibile usare questa istanza del provider se è stato installato SQL Server Express con il nome dell'istanza predefinito oppure è possibile definire la propria istanza nel file Web.config per l'applicazione ASP.NET.

Se si imposta l'attributo passwordCompatMode su Framework40, l'applicazione può usare le opzioni di hashing e di appartenenza alla crittografia aggiunte in ASP.NET 4. Tuttavia, se l'attributo passwordCompatMode è impostato su Framework20, è possibile usare solo le opzioni hashing e di appartenenza alla crittografia del ASP.NET 2.0, ASP.NET 3.5 e ASP.NET 3.5 SP1. Il valore predefinito è Framework20. Per altre informazioni, vedere MembershipPasswordCompatibilityMode.

Costruttori

Nome Descrizione
SqlMembershipProvider()

Inizializza una nuova istanza della classe SqlMembershipProvider.

Proprietà

Nome Descrizione
ApplicationName

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

Description

Ottiene una breve descrizione descrittiva adatta per la visualizzazione negli strumenti di amministrazione o in altre interfacce utente.

(Ereditato da ProviderBase)
EnablePasswordReset

Ottiene un valore che indica se il provider di appartenenze di SQL Server è configurato per consentire agli utenti di reimpostare le password.

EnablePasswordRetrieval

Ottiene un valore che indica se il provider di appartenenze di SQL Server è configurato per consentire agli utenti di recuperare le password.

MaxInvalidPasswordAttempts

Ottiene il numero di tentativi di password o risposte password non validi consentiti prima che l'utente di appartenenza venga bloccato.

MinRequiredNonAlphanumericCharacters

Ottiene il numero minimo di caratteri speciali che devono essere presenti in una password valida.

MinRequiredPasswordLength

Ottiene la lunghezza minima necessaria per una password.

Name

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

(Ereditato da ProviderBase)
PasswordAttemptWindow

Ottiene l'intervallo di tempo tra il quale vengono rilevati tentativi consecutivi non riusciti di fornire una password o risposte password valide.

PasswordFormat

Ottiene un valore che indica il formato per l'archiviazione delle password nel database di appartenenza SQL Server.

PasswordStrengthRegularExpression

Ottiene l'espressione regolare utilizzata per valutare una password.

RequiresQuestionAndAnswer

Ottiene un valore che indica se il provider di appartenenze a SQL Server è configurato per richiedere all'utente di rispondere a una domanda sulla password per la reimpostazione e il recupero della password.

RequiresUniqueEmail

Ottiene un valore che indica se il provider di appartenenze SQL Server è configurato per richiedere un indirizzo di posta elettronica univoco per ogni nome utente.

Metodi

Nome Descrizione
ChangePassword(String, String, String)

Modifica la password di un utente.

ChangePasswordQuestionAndAnswer(String, String, String, String)

Aggiorna la domanda e la risposta della password per un utente nel database di appartenenza a SQL Server.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Aggiunge un nuovo utente al database di appartenenza a SQL Server.

DecryptPassword(Byte[])

Decrittografa una password crittografata.

(Ereditato da MembershipProvider)
DeleteUser(String, Boolean)

Rimuove le informazioni di appartenenza di un utente dal database di appartenenza di SQL Server.

EncryptPassword(Byte[], MembershipPasswordCompatibilityMode)

Crittografa la password specificata usando la modalità di compatibilità password specificata.

(Ereditato da MembershipProvider)
EncryptPassword(Byte[])

Crittografa una password.

(Ereditato da MembershipProvider)
Equals(Object)

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

(Ereditato da Object)
FindUsersByEmail(String, Int32, Int32, Int32)

Restituisce una raccolta di utenti di appartenenza per cui il campo indirizzo di posta elettronica contiene l'indirizzo di posta elettronica specificato.

FindUsersByName(String, Int32, Int32, Int32)

Ottiene una raccolta di utenti di appartenenza in cui il nome utente contiene il nome utente specificato da trovare.

GeneratePassword()

Genera una password casuale con lunghezza di almeno 14 caratteri.

GetAllUsers(Int32, Int32, Int32)

Ottiene una raccolta di tutti gli utenti nel database di appartenenza a SQL Server.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetNumberOfUsersOnline()

Restituisce il numero di utenti che attualmente accedono all'applicazione.

GetPassword(String, String)

Restituisce la password per il nome utente specificato dal database di appartenenza a SQL Server.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetUser(Object, Boolean)

Ottiene le informazioni dall'origine dati per l'utente di appartenenza associato all'identificatore univoco specificato e aggiorna il timestamp di data/ora dell'ultima attività per l'utente, se specificato.

GetUser(String, Boolean)

Restituisce informazioni dal database di appartenenza di SQL Server per un utente e offre un'opzione per aggiornare l'ultimo indicatore di data/ora dell'attività per l'utente.

GetUserNameByEmail(String)

Ottiene il nome utente associato all'indirizzo di posta elettronica specificato.

Initialize(String, NameValueCollection)

Inizializza il provider di appartenenza 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.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnValidatingPassword(ValidatePasswordEventArgs)

Genera l'evento ValidatingPassword se è stato definito un gestore eventi.

(Ereditato da MembershipProvider)
ResetPassword(String, String)

Reimposta la password di un utente su una nuova password generata automaticamente.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnlockUser(String)

Cancella lo stato di blocco dell'utente in modo che l'utente di appartenenza possa essere convalidato.

UpdateUser(MembershipUser)

Aggiorna le informazioni su un utente nel database di appartenenza a SQL Server.

ValidateUser(String, String)

Verifica che il nome utente e la password specificati esistano nel database di appartenenza a SQL Server.

Eventi

Nome Descrizione
ValidatingPassword

Si verifica quando viene creato un utente, viene modificata una password o viene reimpostata una password.

(Ereditato da MembershipProvider)

Si applica a

Vedi anche