Roles.CacheRolesInCookie Propriedade

Definição

Recebe um valor que indica se os papéis do utilizador atual estão armazenados em cache num cookie.

public:
 static property bool CacheRolesInCookie { bool get(); };
public static bool CacheRolesInCookie { get; }
static member CacheRolesInCookie : bool
Public Shared ReadOnly Property CacheRolesInCookie As Boolean

Valor de Propriedade

true se os papéis do utilizador atual estiverem armazenados em cache num cookie; caso contrário, false. A predefinição é true.

Exemplos

O exemplo seguinte mostra o elemento roleManager na secção system.web do ficheiro de Web.config para uma aplicação ASP.NET. Especifica que a aplicação utiliza uma SqlRoleProvider instância e define o cacheRolesInCookie atributo como 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>

Observações

Quando a CacheRolesInCookie propriedade está definida como true no ficheiro Web.config, a informação do papel de cada utilizador é armazenada num cookie. Quando a gestão de funções verifica se um utilizador está num determinado papel, o cookie do papel é verificado antes de o fornecedor de funções ser chamado para verificar a lista de funções na fonte de dados. O cookie é atualizado dinamicamente para armazenar em cache os nomes de papéis mais recentemente validados.

Pode melhorar a fiabilidade dos nomes de papéis armazenados em cache num cookie especificando uma propriedade CookieProtectionValue quando configura ASP.NET papéis. O padrão CookieProtectionValue é All, que encripta os nomes dos papéis no cookie e valida que o conteúdo do cookie não foi alterado.

Note

Como os nomes dos papéis podem ser armazenados em cache separadamente da fonte de dados, é possível que alterações na gestão de funções na fonte de dados não se reflitam nos valores em cache. Neste caso, o utilizador deve fechar e reabrir o navegador para limpar o valor do cookie em cache.

Aplica-se a

Ver também