次の方法で共有


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>

属性および要素

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

属性

属性

Description

cacheRolesInCookie

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

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

既定値は、false です。

cookieName

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

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

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

cookiePath

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

ロール名のクッキーのパス。

既定値は、"/" です。

cookieProtection

省略可能な CookieProtection 属性です。

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

既定値は、All です。

cookieRequireSSL

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

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

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

既定値は、false です。

cookieSlidingExpiration

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

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

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

既定値は、true です。

cookieTimeout

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

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

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

createPersistentCookie

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

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

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

既定値は、false です。

defaultProvider

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

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

既定値は、"AspNetSqlRoleProvider" です。

domain

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

ロール名のクッキーの Domain 値を指定します。

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

enabled

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

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

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

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

maxCachedResults

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

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

既定値は、25 です。

継承される属性

省略可能な属性です。

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

子要素

要素

Description

providers

省略可能な要素です。

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

親要素

要素

Description

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

参照

処理手順

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Reference

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

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

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

System.Configuration

System.Web.Configuration

RoleManagerSection

RoleManager

概念

Understanding ASP.NET Role Management

Securing Configuration

Configuration Inheritance

その他の技術情報

全般構成設定 (ASP.NET)

ASP.NET 構成設定

ASP.NET リファレンス

Configuring ASP.NET Applications

ASP.NET Configuration API