共用方式為


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

屬性值

如果目前使用者的角色在 Cookie 中快取,則為 true,否則為 false。 預設為 true

範例

下列範例顯示 ASP.NET 應用程式 Web.config 檔案區段中 的 roleManager 元素 system.web 。 它會指定應用程式使用 SqlRoleProvider 實體,並將屬性設定 cacheRolesInCookietrue

<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當 屬性設定true為 Web.config 檔案中時,每個使用者的角色信息都會儲存在 Cookie 中。 當角色管理檢查使用者是否為特定角色時,會在呼叫角色提供者之前檢查角色 Cookie,以檢查數據源的角色清單。 Cookie 會動態更新,以快取最近驗證的角色名稱。

您可以在設定 ASP.NET 角色時指定 CookieProtectionValue 屬性,以改善 Cookie 中快取的角色名稱可靠性。 預設值 CookieProtectionValueAll,它會加密 Cookie 中的角色名稱,並驗證 Cookie 內容尚未變更。

注意

因為角色名稱可以在數據源之外快取,所以數據源的角色管理變更可能不會反映在快取的值中。 在此情況下,用戶必須關閉並重新開啟其瀏覽器,才能清除快取的 Cookie 值。

適用於

另請參閱