SqlRoleProviderとは? わかりやすく解説

SqlRoleProvider クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

SQL Server データベースにある ASP.NET アプリケーションのロール メンバシップ情報の保存を管理します。

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

Public Class SqlRoleProvider
    Inherits RoleProvider
Dim instance As SqlRoleProvider
public class SqlRoleProvider : RoleProvider
public ref class SqlRoleProvider : public
 RoleProvider
public class SqlRoleProvider extends RoleProvider
public class SqlRoleProvider extends
 RoleProvider
解説解説

このクラスは Roles クラスと RolePrincipal クラスが使用し、SQL Server データベースを使用する ASP.NET アプリケーションにロール管理サービスを提供します。ロール管理を使用すると、アプリケーションに対して複数の承認レベルを指定できます。

SqlRoleProvider クラスを使用するには、まず SqlRoleProvider が使用する SQL Server データベースを作成する必要があります。SqlRoleProvider クラスが使用するデータベースを作成するには、C:\WINDOWS\Microsoft.NET\Framework\versionNumber フォルダにある aspnet_regsql.exe 実行可能ファイルに -Ar オプションを指定して実行します (例: aspnet_regsql.exe -Ar)。作成されるデータベースは Aspnetdb という名前になります。または、aspnet_regsql.exe を実行して GUI 構成モードを起動し、すべての ASP.NET 機能を選択して構成します。

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

Machine.config ファイルは、AspNetSqlProvider という SqlRoleProvider のインスタンスを使用してローカル マシンの SQL Server に接続するよう構成されます。プロバイダのこのインスタンスを使用することも、ASP.NET アプリケーションの Web.config ファイルで独自に指定することもできます。AspNetSqlProvider インスタンスを使用するには、AspNetSqlProvider を roleManager 構成の defaultProvider として指定します。

認証と承認の情報に単一のデータベースを使用するには、SqlRoleProvider が SqlMembershipProvider と同じデータベースとユーザー情報を使用するように構成します。メンバシップとロールの情報に同じデータベースを使用するには、aspnet_regsql.exe 実行可能ファイルを実行してメンバシップ機能をインストールします。次に、SqlRoleProvider と SqlMembershipProvider の両方のインスタンスの構成に同じ接続文字列を指定します。この 2 つのプロバイダ インスタンスを、同じ ApplicationName を使用して構成する必要もあります。

使用例使用例

SqlRoleProvider オブジェクトと SqlMembershipProvider を使用するように構成した ASP.NET アプリケーションの Web.config ファイルの例を次に示します。authorization 要素は、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>
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
   System.Configuration.Provider.ProviderBase
     System.Web.Security.RoleProvider
      System.Web.Security.SqlRoleProvider
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlRoleProvider メンバ
System.Web.Security 名前空間
その他の技術情報
ロール管理について

SqlRoleProvider コンストラクタ


SqlRoleProvider プロパティ


SqlRoleProvider メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AddUsersToRoles オーバーライドされます。 指定された各ロールに、指定されたユーザー名を追加します。
パブリック メソッド CreateRole オーバーライドされます。 新しいロールをロール データベースに追加します。
パブリック メソッド DeleteRole オーバーライドされます。 ロール データベースからロールを削除します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド FindUsersInRole オーバーライドされます。 指定されたロールで、ユーザー名が指定内容と一致するユーザーの配列を取得します。
パブリック メソッド GetAllRoles オーバーライドされます。 アプリケーションのすべてのロールのリストを取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetRolesForUser オーバーライドされます。 ユーザーに割り当てられたロールのリストを取得します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド GetUsersInRole オーバーライドされます。 指定されたロールに属するユーザーのリストを取得します。
パブリック メソッド Initialize オーバーライドされます。 ASP.NET アプリケーションの構成ファイルに指定されているプロパティ値を使用して、SQL Server ロール プロバイダを初期化します。このメソッドは、コードで直接使用するためのものではありません。
パブリック メソッド IsUserInRole オーバーライドされます。 指定されたユーザーが、指定されたロールに存在するかどうかを示す値を取得します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RemoveUsersFromRoles オーバーライドされます。 指定されたユーザー名を指定されたロールから削除します。
パブリック メソッド RoleExists オーバーライドされます。 指定されたロール名がロール データベースに既に存在するかどうかを示す値を取得します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SqlRoleProvider クラス
System.Web.Security 名前空間

その他の技術情報

ロール管理について

SqlRoleProvider メンバ

SQL Server データベースにある ASP.NET アプリケーションのロール メンバシップ情報の保存を管理します。

SqlRoleProvider データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド SqlRoleProvider SqlRoleProvider クラスのインスタンスを作成します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AddUsersToRoles オーバーライドされます。 指定された各ロールに、指定されたユーザー名を追加します。
パブリック メソッド CreateRole オーバーライドされます。 新しいロールをロール データベースに追加します。
パブリック メソッド DeleteRole オーバーライドされます。 ロール データベースからロールを削除します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド FindUsersInRole オーバーライドされます。 指定されたロールで、ユーザー名が指定内容と一致するユーザーの配列を取得します。
パブリック メソッド GetAllRoles オーバーライドされます。 アプリケーションのすべてのロールのリストを取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetRolesForUser オーバーライドされます。 ユーザーに割り当てられたロールのリストを取得します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド GetUsersInRole オーバーライドされます。 指定されたロールに属するユーザーのリストを取得します。
パブリック メソッド Initialize オーバーライドされます。 ASP.NET アプリケーションの構成ファイルに指定されているプロパティ値を使用して、SQL Server ロール プロバイダを初期化します。このメソッドは、コードで直接使用するためのものではありません。
パブリック メソッド IsUserInRole オーバーライドされます。 指定されたユーザーが、指定されたロールに存在するかどうかを示す値を取得します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RemoveUsersFromRoles オーバーライドされます。 指定されたユーザー名を指定されたロールから削除します。
パブリック メソッド RoleExists オーバーライドされます。 指定されたロール名がロール データベースに既に存在するかどうかを示す値を取得します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SqlRoleProvider クラス
System.Web.Security 名前空間

その他の技術情報

ロール管理について



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「SqlRoleProvider」の関連用語

SqlRoleProviderのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SqlRoleProviderのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS