Roles.CacheRolesInCookie Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.