roleManager 要素 (ASP.NET 設定スキーマ)

ロール管理用のアプリケーションを構成します。

この要素は、.NET Framework Version 2.0 で追加されました。

<roleManager
    cacheRolesInCookie="true|false"
    cookieName="name"
    cookiePath="/"
    cookieProtection="All|Encryption|Validation|None"
    cookieRequireSSL="true|false "
    cookieSlidingExpiration="true|false "
    cookieTimeout="number of minutes"
    createPersistentCookie="true|false"
    defaultProvider="provider name"
    domain="cookie domain">
    enabled="true|false"
    maxCachedResults="maximum number of role names cached"
    <providers>...</providers>
</roleManager>

属性および要素

以降のセクションでは、このセクションに示す属性、子要素、および親要素について説明します。

属性

属性

説明

cacheRolesInCookie

省略可能な Boolean 型の属性です。

ユーザーに特定のロールが割り当てられていることを検証する場合に、ロール プロバイダーを使用してデータ ソースにあるロールの一覧をチェックする前に Cookie がチェックされることを指定します。 現在のユーザーの Cookie にロール名の一覧をキャッシュする場合は true を指定します。それ以外の場合は false を指定します。

既定値は、false です。

cookieName

省略可能な String 型の属性です。

ロール名を格納する Cookie の名前を指定します。

既定値は、".ASPXROLES" です。

cookiePath

省略可能な String 型の属性です。

ロール名の Cookie のパス。

既定値は、"/" です。

cookieProtection

省略可能な CookieProtection 属性です。

CookieProtection 列挙値のいずれかを指定します。

既定値は、All です。

cookieRequireSSL

省略可能な Boolean 型の属性です。

ロール名の Cookie をサーバーに送信する際に SSL を必要とするかどうかを指定します。

true に設定すると、ロール名の Cookie をサーバーに送信する際に SSL が必要になります。

既定値は、false です。

cookieSlidingExpiration

省略可能な Boolean 型の属性です。

ロール名の Cookie の有効期限を定期的にリセットするかどうかを指定します。

true に設定すると、Cookie の有効期限は、最初は現在の日時プラス CookieTimeout 値に分単位で設定されます。 ユーザーが引き続き ASP.NET アプリケーションをアクティブに使用した場合、CookieTimeout 値の残りが半分未満になると、Cookie の有効期限は自動的に更新されます。 詳細については、「Expires」を参照してください。

既定値は、true です。

cookieTimeout

省略可能な Int32 型の属性です。

ロール名の Cookie の有効期限が切れるまでの時間 (分)。

既定値は、"30" (分単位) です。

createPersistentCookie

省略可能な Boolean 型の属性です。

ロール名の Cookie がセッション Cookie かどうか、つまりブラウザーを閉じると Cookie が失われるかどうかを指定します。

true に設定した場合、ロール名の Cookie は、複数のブラウザー セッションで使用できる持続的な Cookie となります。 持続的な Cookie の有効期限は、現在の日時プラス CookieTimeout 値に分単位で設定されます。

既定値は、false です。

defaultProvider

省略可能な String 型の属性です。

既定のロール プロバイダーの名前です。 詳細については、「Provider」を参照してください。

既定値は、"AspNetSqlRoleProvider" です。

domain

省略可能な String 型の属性です。

ロール名の Cookie の Domain 値を指定します。

既定値は HttpCookie プロパティの既定値である空の文字列 ("") です。

enabled

省略可能な Boolean 型の属性です。

ロールの管理を有効にするかどうかを指定します。

true に設定すると、ロールの管理が有効になります。

Machine.config ファイルでの既定値は false です。

maxCachedResults

省略可能な Int32 型の属性です。

ロールの Cookie にキャッシュするロール名の最大数を指定します。

既定値は、25 です。

Inherited attributes

省略可能な属性です。

すべての section 要素が継承する属性です。 詳細については、「セクションの要素によって継承される全般属性」を参照してください。

子要素

要素

説明

providers

省略可能な要素です。

ロール管理に使用するロール プロバイダーのコレクションを定義します。

親要素

要素

説明

configuration

共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルで必要なルート要素を指定します。

system.web

ASP.NET 構成セクションのルート要素を指定します。

解説

roleManager 要素は、ロール管理用のアプリケーションを構成します。

アプリケーション コード内の roleManager 要素の構成値のアクセスおよび変更方法については、RoleManagerSection クラスを参照してください。

既定の構成

次の既定の roleManager 要素は、Machine.config ファイルまたはルート Web.config ファイルで明示的には構成されていません。 ただし、これはアプリケーションが返す既定の構成です。 プロバイダーは、Machine.config ファイルに明示的に構成されています。

<roleManager 
   enabled="false" 
   cacheRolesInCookie="false" 
   cookieName=".ASPXROLES" 
   cookieTimeout="30" 
   cookiePath="/" 
   cookieRequireSSL="false" 
   cookieSlidingExpiration="true" 
   cookieProtection="All" 
   defaultProvider="AspNetSqlRoleProvider" 
   createPersistentCookie="false" 
   maxCachedResults="25">
   <providers>
      <clear />
      <add 
         connectionStringName="LocalSqlServer" 
         applicationName="/" 
         name="AspNetSqlRoleProvider" 
         type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      <add 
         applicationName="/" 
         name="AspNetWindowsTokenRoleProvider" 
         type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   </providers>
</roleManager>

使用例

ロール情報の格納と取得に SqlRoleProvider クラスを使用するよう ASP.NET アプリケーションを構成する方法を、次のコード例に示します。

<configuration>
  <system.web>
    <roleManager defaultProvider="SqlProvider" 
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="false"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices" 
          applicationName="SampleApplication" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

要素情報

構成セクション ハンドラー

RoleManagerSection

構成メンバー

RoleManager

構成できる場所

Machine.config

ルート レベルの Web.config

アプリケーション レベルの Web.config

要件

Microsoft Internet Information Services (IIS) バージョン 5.0、5.1、または 6.0

.NET Framework Version 2.0

Microsoft Visual Studio 2003 または Visual Studio 2005

参照

処理手順

方法 : Location の設定を使用して特定のディレクトリを構成する

方法 : ASP.NET 構成設定をロックする

参照

system.web 要素 (ASP.NET 設定スキーマ)

roleManager の providers 要素 (ASP.NET 設定スキーマ)

configuration 要素 (全般設定スキーマ)

System.Configuration

System.Web.Configuration

RoleManagerSection

RoleManager

概念

ロール管理について

ASP.NET 構成の保護

ASP.NET の構成のシナリオ

その他の技術情報

全般構成設定 (ASP.NET)

ASP.NET 構成設定

ASP.NET リファレンス

ASP.NET Web サイト管理

ASP.NET 構成 API