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


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.

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

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