SqlRoleProvider クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SQL Server データベース内の ASP.NET アプリケーションのロール メンバーシップ情報の保存を管理します。
public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
- 継承
例
次の例は、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>
注釈
このクラスは、SQL Server データベースを使用して ASP.NET アプリケーションのロール管理サービスを提供するために、Roles クラスと RolePrincipal クラスによって使用されます。 ロール管理を使用して、アプリケーションのさまざまなレベルの承認を指定できます。
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 ファイルは、ローカル コンピューター上のSQL Serverに接続する AspNetSqlProvider という名前の SqlRoleProvider インスタンスで構成されます。 プロバイダーのこのインスタンスを使用することも、ASP.NET アプリケーションの Web.config ファイルで独自のインスタンスを指定することもできます。 AspNetSqlProvider インスタンスを使用するには、構成の defaultProvider として AspNetSqlProvider を指定します。
認証と承認の情報に単一データベースを使用するために、SqlMembershipProviderと同じデータベースとユーザー情報を使用するようにSqlRoleProviderを構成できます。 メンバーシップとロール情報に同じデータベースを使用するには、aspnet_regsql.exe 実行可能ファイルを実行し、メンバーシップ機能をインストールします。 次に、SqlRoleProvider インスタンスと SqlMembershipProvider インスタンスの両方に対して、同じ接続文字列を構成に指定します。 また、両方のプロバイダー インスタンスが同じ ApplicationNameで構成されていることを確認します。
コンストラクター
| 名前 | 説明 |
|---|---|
| SqlRoleProvider() |
SqlRoleProvider クラスのインスタンスを作成します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| ApplicationName |
ロール情報を格納および取得するアプリケーションの名前を取得または設定します。 |
| Description |
管理ツールやその他のユーザー インターフェイス (UI) での表示に適した簡単でわかりやすい説明を取得します。 (継承元 ProviderBase) |
| Name |
構成時にプロバイダーを参照するために使用されるフレンドリ名を取得します。 (継承元 ProviderBase) |
メソッド
| 名前 | 説明 |
|---|---|
| AddUsersToRoles(String[], String[]) |
指定した各ロールに、指定したユーザー名を追加します。 |
| CreateRole(String) |
ロール データベースに新しいロールを追加します。 |
| DeleteRole(String, Boolean) |
ロール データベースからロールを削除します。 |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| FindUsersInRole(String, String) |
ユーザー名に一致する指定されたユーザー名が含まれるロール内のユーザー名の配列を取得します。 |
| GetAllRoles() |
アプリケーションのすべてのロールの一覧を取得します。 |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetRolesForUser(String) |
ユーザーが存在するロールの一覧を取得します。 |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| GetUsersInRole(String) |
指定したロールのユーザーの一覧を取得します。 |
| Initialize(String, NameValueCollection) |
ASP.NET アプリケーションの構成ファイルで指定されたプロパティ値を使用して、SQL Server ロール プロバイダーを初期化します。 このメソッドは、コードから直接使用するためのものではありません。 |
| IsUserInRole(String, String) |
指定したユーザーが指定したロールに含まれているかどうかを示す値を取得します。 |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| RemoveUsersFromRoles(String[], String[]) |
指定したロールから指定したユーザー名を削除します。 |
| RoleExists(String) |
指定したロール名がロール データベースに既に存在するかどうかを示す値を取得します。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |