SqlRoleProvider SqlRoleProvider SqlRoleProvider SqlRoleProvider Class

定義

SQL Server データベースにある ASP.NET アプリケーションのロール メンバーシップ情報の保存を管理します。Manages storage of role membership information for an ASP.NET application in a SQL Server database.

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 ファイルを示しています。The following example shows the Web.config file for an ASP.NET application configured to use a SqlRoleProvider object and the SqlMembershipProvider. 要素は、管理者ロールの認証されたユーザーにのみアクセスを許可するように構成されています。The element is configured to only allow access to authenticated users in the Administrators role.

<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 アプリケーションのロール管理サービスを提供するために使用されます。This class is used by the Roles and RolePrincipal classes to provide role-management services for an ASP.NET application using a SQL Server database. ロール管理を使用して、アプリケーションのさまざまな承認レベルを指定できます。You can use role management to specify different levels of authorization for your application.

SqlRoleProviderクラスを使用するには、 SqlRoleProviderまずによって使用される SQL Server データベースを作成する必要があります。To use the SqlRoleProvider class, you must first create the SQL Server database used by the SqlRoleProvider. SqlRoleProviderクラスによって使用されるデータベースを作成するaspnet_regsql.exeには、 -Ar c:\windows\ microsoft.net \framework\ versionNumberフォルダーにある実行可能ファイルを実行し、 aspnet_regsql.exe -Arオプション (たとえば、) を指定します。To create the database used by the SqlRoleProvider class, run the aspnet_regsql.exe executable found in the C:\WINDOWS\Microsoft.NET\Framework\ versionNumber folder and specify the -Ar option (for example, aspnet_regsql.exe -Ar). 作成されたデータベースは Aspnetdb.mdf と呼ばれます。The database created is called Aspnetdb. または、aspnet_regsql.exe を実行して GUI 構成モードを取得し、すべての ASP.NET 機能を構成します。Alternatively, run aspnet_regsql.exe to pull up the GUI configuration mode and choose to configure all ASP.NET features.

ロールプロバイダーが統合セキュリティを使用する接続文字列を使用して構成されている場合、ASP.NET アプリケーションのプロセスアカウントは、SQL Server データベースに接続する権限を持っている必要があります。If the role provider is configured with a connection string that uses integrated security, the process account of the ASP.NET application must have rights to connect to the SQL Server database.

Machine.config ファイルは、ローカルコンピューター上の SQL Server SqlRoleProviderに接続する AspNetSqlProvider という名前のインスタンスを使用して構成されます。The Machine.config file is configured with a SqlRoleProvider instance named AspNetSqlProvider that connects to the SQL Server on the local machine. このプロバイダーのインスタンスを使用することも、ASP.NET アプリケーションの web.config ファイルで独自のインスタンスを指定することもできます。You can use this instance of the provider, or specify your own in the Web.config file for your ASP.NET application. AspNetSqlProvider インスタンスを使用するにはdefaultProvider 、構成のとして AspNetSqlProvider を指定します。To use the AspNetSqlProvider instance, specify AspNetSqlProvider as the defaultProvider in your configuration.

認証と承認のSqlRoleProvider情報に単一のデータベースを使用するためにSqlMembershipProvider 、と同じデータベースおよびユーザー情報を使用するようにを構成できます。You can configure the SqlRoleProvider to use the same database and user information as the SqlMembershipProvider in order to use a single database for authentication and authorization information. メンバーシップとロール情報に同じデータベースを使用するには、aspnet_regsql.exe 実行可能ファイルを実行し、メンバーシップ機能をインストールします。To use the same database for membership and role information, run the aspnet_regsql.exe executable and install the membership feature. 次に、インスタンスSqlRoleProviderSqlMembershipProviderインスタンスの両方について、構成に同じ接続文字列を指定します。Then, specify the same connection string in your configuration for both your SqlRoleProvider and SqlMembershipProvider instances. また、両方のプロバイダーインスタンスが同じApplicationNameで構成されていることを確認します。Also ensure that both provider instances are configured with the same ApplicationName.

コンストラクター

SqlRoleProvider() SqlRoleProvider() SqlRoleProvider() SqlRoleProvider()

SqlRoleProvider クラスのインスタンスを作成します。Creates an instance of the SqlRoleProvider class.

プロパティ

ApplicationName ApplicationName ApplicationName ApplicationName

ロール情報を保管および取得するアプリケーションの名前を取得または設定します。Gets or sets the name of the application for which to store and retrieve role information.

Description Description Description Description

管理ツールまたは他のユーザー インターフェイス (UI) での表示に適した、簡単でわかりやすい説明を取得します。Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).

(Inherited from ProviderBase)
Name Name Name Name

構成時にプロバイダーを参照するために使用される表示名を取得します。Gets the friendly name used to refer to the provider during configuration.

(Inherited from ProviderBase)

メソッド

AddUsersToRoles(String[], String[]) AddUsersToRoles(String[], String[]) AddUsersToRoles(String[], String[]) AddUsersToRoles(String[], String[])

指定された各ロールに、指定されたユーザー名を追加します。Adds the specified user names to each of the specified roles.

CreateRole(String) CreateRole(String) CreateRole(String) CreateRole(String)

新しいロールをロール データベースに追加します。Adds a new role to the role database.

DeleteRole(String, Boolean) DeleteRole(String, Boolean) DeleteRole(String, Boolean) DeleteRole(String, Boolean)

ロール データベースからロールを削除します。Removes a role from the role database.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
FindUsersInRole(String, String) FindUsersInRole(String, String) FindUsersInRole(String, String) FindUsersInRole(String, String)

指定されたロールで、ユーザー名が指定内容と一致するユーザーの配列を取得します。Gets an array of user names in a role where the user name contains the specified user name to match.

GetAllRoles() GetAllRoles() GetAllRoles() GetAllRoles()

アプリケーションのすべてのロールのリストを取得します。Gets a list of all the roles for the application.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetRolesForUser(String) GetRolesForUser(String) GetRolesForUser(String) GetRolesForUser(String)

ユーザーに割り当てられたロールのリストを取得します。Gets a list of the roles that a user is in.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
GetUsersInRole(String) GetUsersInRole(String) GetUsersInRole(String) GetUsersInRole(String)

指定されたロールに属するユーザーのリストを取得します。Gets a list of users in the specified role.

Initialize(String, NameValueCollection) Initialize(String, NameValueCollection) Initialize(String, NameValueCollection) Initialize(String, NameValueCollection)

ASP.NET アプリケーションの構成ファイルに指定されているプロパティ値を使用して、SQL Server ロール プロバイダーを初期化します。Initializes the SQL Server role provider with the property values specified in the ASP.NET application's configuration file. このメソッドはコードから直接使用するためのものではありません。This method is not intended to be used directly from your code.

IsUserInRole(String, String) IsUserInRole(String, String) IsUserInRole(String, String) IsUserInRole(String, String)

指定したユーザーが指定したロールに存在するかどうかを示す値を取得します。Gets a value indicating whether the specified user is in the specified role.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
RemoveUsersFromRoles(String[], String[]) RemoveUsersFromRoles(String[], String[]) RemoveUsersFromRoles(String[], String[]) RemoveUsersFromRoles(String[], String[])

指定されたユーザー名を指定されたロールから削除します。Removes the specified user names from the specified roles.

RoleExists(String) RoleExists(String) RoleExists(String) RoleExists(String)

指定されたロール名がロール データベースに既に存在するかどうかを示す値を取得します。Gets a value indicating whether the specified role name already exists in the role database.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください