System.Web.Security 名前空間


.NET Framework クラス ライブラリ
SqlMembershipProvider クラス

更新 : 2007 年 11 月

SQL Server データベース内での ASP.NET アプリケーションのメンバシップ情報のストレージを管理します。

名前空間 :  System.Web.Security
アセンブリ :  System.Web (System.Web.dll 内)

構文

Visual Basic (宣言)
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public Class SqlMembershipProvider _
    Inherits MembershipProvider
Visual Basic (使用法)
Dim instance As SqlMembershipProvider
C#
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class SqlMembershipProvider : MembershipProvider
Visual C++
[AspNetHostingPermissionAttribute(SecurityAction::InheritanceDemand, Level = AspNetHostingPermissionLevel::Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)]
public ref class SqlMembershipProvider : public MembershipProvider
J#
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public class SqlMembershipProvider extends MembershipProvider
JScript
public class SqlMembershipProvider extends MembershipProvider
解説

このクラスは Membership クラスと MembershipUser クラスが使用し、SQL Server データベースを使用して ASP.NET アプリケーションにメンバシップ サービスを提供します。SQL Server なしで SqlMembershipProvider を使用することはできません。SQL Server Express が既定のインスタンス名で、ユーザーのインスタンス作成を有効にしてコンピュータにインストールされている場合、アプリケーションが最初に実行されるときに SqlMembershipProvider オブジェクトがアプリケーションの App_Data ディレクトリに aspnetdb という名前のデータベースを作成します。

データベースを手動で作成するには、%systemroot%\Microsoft.NET\Framework\ versionNumber フォルダにある Aspnet_regsql.exe 実行可能ファイルを実行し、-A m オプション (たとえば aspnet_regsql.exe -A m) を指定します。作成されるデータベースは Aspnetdb という名前になります。または、Aspnet_regsql.exe を実行して GUI 構成モードを起動し、すべての ASP.NET 機能を選択して構成します。

メンバシップ プロバイダが、統合セキュリティを使用する接続文字列を使用するように設定されている場合、ASP.NET アプリケーションのプロセス アカウントには SQL Server データベースへの接続権限が必要です。

Machine.config ファイルは、ローカル マシン上の既定の SQL Server Express インスタンスに接続する AspNetSqlMembershipProvider という名前の既定の SqlMembershipProvider インスタンスを定義します。SQL Server Express を既定のインスタンス名でインストールしている場合、プロバイダのこのインスタンスを使用できますが、それ以外の場合は、ASP.NET アプリケーションの Web.config ファイルに独自のインスタンスを定義できます。


SqlMembershipProvider を使用するように構成された ASP.NET アプリケーションの Web.config のコード例を次に示します。

<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>
アクセス許可

継承階層

System..::.Object
  System.Configuration.Provider..::.ProviderBase
    System.Web.Security..::.MembershipProvider
      System.Web.Security..::.SqlMembershipProvider
スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム

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

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.5、3.0、2.0
参照

参照

その他の技術情報

タグ :


Page view tracker