SqlRoleProvider クラス

定義

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

次の例は、オブジェクトとを使用するように構成された ASP.NET アプリケーションの Web.config ファイルを示して SqlRoleProvider SqlMembershipProvider います。 要素は、管理者ロールの認証されたユーザーにのみアクセスを許可するように構成されています。

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

注釈

このクラスは、クラスおよびクラスによって使用され、 Roles RolePrincipal SQL Server データベースを使用して ASP.NET アプリケーションのロール管理サービスを提供します。 ロール管理を使用して、アプリケーションのさまざまな承認レベルを指定できます。

クラスを使用するに SqlRoleProvider は、まずによって使用される SQL Server データベースを作成する必要があり SqlRoleProvider ます。 クラスによって使用されるデータベースを作成するには、 SqlRoleProvider aspnet_regsql.exe c:\windows\ microsoft.net \framework\ フォルダーにある実行可能ファイルを実行し、 versionNumber -Ar オプション (たとえば、) を指定し aspnet_regsql.exe -Ar ます。 作成されたデータベースは Aspnetdb.mdf と呼ばれます。 または、aspnet_regsql.exe を実行して GUI 構成モードをプルし、すべての ASP.NET 機能を構成します。

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

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

SqlRoleProvider SqlMembershipProvider 認証と承認の情報に単一のデータベースを使用するために、と同じデータベースおよびユーザー情報を使用するようにを構成できます。 メンバーシップとロール情報に同じデータベースを使用するには、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)

適用対象

こちらもご覧ください