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
.
Примеры
В следующем примере показан элемент roleManager в system.web
разделе файла Web.config для приложения ASP.NET. Он указывает, что приложение использует 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 динамически обновляется для кэширования последних проверенных имен ролей.
Вы можете повысить надежность имен ролей, кэшированных в файле cookie, указав CookieProtectionValue свойство при настройке ASP.NET ролей. Значение по умолчанию CookieProtectionValue — All
, которое шифрует имена ролей в файле cookie и проверяет, не было ли изменено содержимое файла cookie.
Примечание
Так как имена ролей можно кэшировать отдельно от источника данных, возможно, что изменения в управлении ролями в источнике данных не будут отражены в кэшированных значениях. В этом случае пользователь должен закрыть и повторно открыть браузер, чтобы очистить кэшированное значение файла cookie.