次の方法で共有


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>

注釈

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

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

注意

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

適用対象

こちらもご覧ください