(0) exportieren Drucken
Alle erweitern

SqlMembershipProvider-Klasse

Hinweis: Diese Klasse ist neu in .NET Framework, Version 2.0.

Verwaltet Speicher der Mitgliedschaftsinformationen für eine ASP.NET-Anwendung in einer SQL Server-Datenbank.

Namespace: System.Web.Security
Assembly: System.Web (in system.web.dll)

public class SqlMembershipProvider : MembershipProvider
public class SqlMembershipProvider extends MembershipProvider
public class SqlMembershipProvider extends MembershipProvider

Diese Klasse wird von der Membership-Klasse und der MembershipUser-Klasse verwendet, um mithilfe einer SQL Server-Datenbank Mitgliedschaftsdienste für eine ASP.NET-Anwendung bereitzustellen. Sie können keinen SqlMembershipProvider ohne SQL Server verwenden. Wenn auf Ihrem Computer SQL Server Express mit dem Standardinstanzennamen installiert ist und die Benutzerinstanziierung aktiviert ist, erstellt das SqlMembershipProvider-Objekt beim erstmaligen Ausführen der Anwendung im Verzeichnis App_Data der Anwendung eine Datenbank mit dem Namen aspnetdb.

Um die Datenbank manuell zu erstellen, führen Sie die ausführbare Datei Aspnet_regsql.exe im Ordner %systemroot%\Microsoft.NET\Framework\ versionNumber aus, und geben Sie die -A m-Option an (beispielsweise aspnet_regsql.exe -A m). Der Name der erstellten Datenbank lautet Aspnetdb. Stattdessen können Sie auch Aspnet_regsql.exe ausführen, um in den GUI-Konfigurationsmodus zu wechseln, und alle ASP.NET-Features konfigurieren.

Wenn der Mitgliedschaftsanbieter mit einer Verbindungszeichenfolge konfiguriert ist, die integrierte Sicherheit verwendet, muss das Prozesskonto der ASP.NET-Anwendung über Rechte zum Herstellen einer Verbindung mit der SQL Server-Datenbank verfügen.

In der Datei Machine.config ist eine SqlMembershipProvider-Standardinstanz mit dem Namen AspNetSqlMembershipProvider definiert, die eine Verbindung mit der SQL Server Express-Standardinstanz auf dem lokalen Computer herstellt. Sie können diese Instanz des Anbieters verwenden, wenn Sie SQL Server Express mit dem Standardinstanzennamen installiert haben. Sie können für Ihre ASP.NET-Anwendung jedoch auch eine eigene Instanz in der Datei Web.config definieren.

Im folgenden Codebeispiel wird die Datei Web.config für eine ASP.NET-Anwendung veranschaulicht, die für die Verwendung eines SqlMembershipProvider konfiguriert wurde.

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

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Anzeigen:
© 2014 Microsoft