SqlRoleProvider クラス
アセンブリ: System.Web (system.web.dll 内)


このクラスは 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>


System.Configuration.Provider.ProviderBase
System.Web.Security.RoleProvider
System.Web.Security.SqlRoleProvider


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SqlRoleProvider コンストラクタ
アセンブリ: System.Web (system.web.dll 内)


SqlRoleProvider コンストラクタは、アプリケーションの構成に指定された SqlRoleProvider クラスのインスタンスを作成する際、ASP.NET によって呼び出されます。このコンストラクタは、コードで使用するためのものではありません。

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SqlRoleProvider プロパティ

名前 | 説明 | |
---|---|---|
![]() | ApplicationName | オーバーライドされます。 ロール情報を保管および取得するアプリケーションの名前を取得または設定します。 |
![]() | Description | 管理ツールまたは他のユーザー インターフェイス (UI) での表示に適した、簡単でわかりやすい説明を取得します。 ( ProviderBase から継承されます。) |
![]() | Name | 構成時にプロバイダを参照するために使用される表示名を取得します。 ( ProviderBase から継承されます。) |

SqlRoleProvider メソッド


名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

SqlRoleProvider メンバ
SQL Server データベースにある ASP.NET アプリケーションのロール メンバシップ情報の保存を管理します。
SqlRoleProvider データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | ApplicationName | オーバーライドされます。 ロール情報を保管および取得するアプリケーションの名前を取得または設定します。 |
![]() | Description | 管理ツールまたは他のユーザー インターフェイス (UI) での表示に適した、簡単でわかりやすい説明を取得します。(ProviderBase から継承されます。) |
![]() | Name | 構成時にプロバイダを参照するために使用される表示名を取得します。(ProviderBase から継承されます。) |


名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- SqlRoleProviderのページへのリンク