Roles.CacheRolesInCookie 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得值,指出目前使用者的角色是否在 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 實體,並將屬性設定 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當 屬性設定true
為 Web.config 檔案中時,每個使用者的角色信息都會儲存在 Cookie 中。 當角色管理檢查使用者是否為特定角色時,會在呼叫角色提供者之前檢查角色 Cookie,以檢查數據源的角色清單。 Cookie 會動態更新,以快取最近驗證的角色名稱。
您可以在設定 ASP.NET 角色時指定 CookieProtectionValue 屬性,以改善 Cookie 中快取的角色名稱可靠性。 預設值 CookieProtectionValue 為 All
,它會加密 Cookie 中的角色名稱,並驗證 Cookie 內容尚未變更。
注意
因為角色名稱可以在數據源之外快取,所以數據源的角色管理變更可能不會反映在快取的值中。 在此情況下,用戶必須關閉並重新開啟其瀏覽器,才能清除快取的 Cookie 值。