次の方法で共有


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 ファイルをSqlRoleProviderSqlMembershipProvider示しています。 要素は 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>

注釈

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

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

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

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

と同じデータベースとユーザー情報SqlMembershipProviderを使用するように をSqlRoleProvider構成して、単一のデータベースを認証および認可情報に使用できます。 メンバーシップとロール情報に同じデータベースを使用するには、aspnet_regsql.exe 実行可能ファイルを実行し、メンバーシップ機能をインストールします。 次に、インスタンスと SqlMembershipProvider インスタンスの両方に同じ接続文字列を構成にSqlRoleProvider指定します。 また、両方のプロバイダー インスタンスが同じ 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)

適用対象

こちらもご覧ください