Поделиться через


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.

Применяется к

См. также раздел