Roles.CacheRolesInCookie プロパティ

定義

現在のユーザーのロールが Cookie にキャッシュされているかどうかを示す値を取得します。

public:
 static property bool CacheRolesInCookie { bool get(); };
public static bool CacheRolesInCookie { get; }
static member CacheRolesInCookie : bool
Public Shared ReadOnly Property CacheRolesInCookie As Boolean

プロパティ値

true 現在のユーザーのロールが Cookie にキャッシュされている場合。それ以外の場合は false。 既定値は true です。

次の例は、ASP.NET アプリケーションの Web.config ファイルの セクションの system.web 要素を示しています。 アプリケーションが SqlRoleProvider インスタンスを使用し、 cacheRolesInCookie 属性を trueに設定することを指定します。

<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="MyApplication" />
   </providers>
</roleManager>

注釈

CacheRolesInCookie プロパティが Web.config ファイルにtrueに設定されている場合、各ユーザーのロール情報は Cookie に格納されます。 ロール管理でユーザーが特定のロールに含まれているかどうかを確認する場合、ロール プロバイダーが呼び出される前にロール Cookie がチェックされ、データ ソースのロールの一覧が確認されます。 Cookie は、最近検証されたロール名をキャッシュするように動的に更新されます。

ASP.NET ロールを構成するときに CookieProtectionValue プロパティを指定することで、Cookie にキャッシュされるロール名の信頼性を向上させることができます。 既定の CookieProtectionValueAllであり、Cookie 内のロール名を暗号化し、Cookie の内容が変更されていないことを検証します。

Note

ロール名はデータ ソースとは別にキャッシュできるため、データ ソースでのロール管理の変更がキャッシュされた値に反映されない可能性があります。 この場合、ユーザーはブラウザーを閉じて再び開き、キャッシュされた Cookie 値をクリアする必要があります。

適用対象

こちらもご覧ください