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 ролей. Значение по умолчанию CookieProtectionValueAll— это шифрование имен ролей в файле cookie и проверка того, что содержимое файла cookie не было изменено.
Замечание
Так как имена ролей можно кэшировать отдельно от источника данных, возможно, изменения управления ролями в источнике данных не будут отражены в кэшированных значениях. В этом случае пользователь должен закрыть и повторно открыть браузер, чтобы очистить кэшированное значение cookie.