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>
要素情報
構成セクション ハンドラー |
|
構成メンバー |
|
構成できる場所 |
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 の設定を使用して特定のディレクトリを構成する
参照
system.web 要素 (ASP.NET 設定スキーマ)
roleManager の providers 要素 (ASP.NET 設定スキーマ)