Roles.CacheRolesInCookie プロパティ

定義

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

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

プロパティ値

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

次の例は、ASP.NET アプリケーションのWeb.config ファイルのセクションにある roleManager 要素 system.web を示しています。 アプリケーションで インスタンスを使用し、 属性を SqlRoleProvidercacheRolesInCookie に設定することを 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>

注釈

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

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

Note

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

適用対象

こちらもご覧ください