Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
743
Assunto : ASP.NET
Titulo: Controlando corretamente o timeout de autenticação forms

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Quando utilizamos a autenticação forms é gerado um cookie de autenticação do usuário. Este cookie ganha um timeout de acordo com a configuração de timeout existente na tag forms, do web.config

Inicialmente poderíamos imaginar que este timeout refere-se ao tempo que o usuário terá entre uma requisição e outra do site. Se ele ficar mais que este tempo (em minutos) sem fazer requisições, a autenticação forms é perdida.

Mas para que este tempo seja realmente preciso seria necessário que o cookie fosse re-criado a cada acesso do usuário.

O problema é que a re-criação do cookie a cada acesso do usuário teria um razoável custo de performance/transmissão, então isso não é realizado. O cookie apenas é re-criado quando mais da metade de seu tempo de timeout já foi ultrapassado.

Então imagine que um usuário se loga no site. Fica inativo, lendo textos talvez, por 14 minutos e faz uma requisição (sendo o timeout de 30). O usuário poderia imaginar que terá mais 30 minutos de timeout antes de precisar fazer nova requisição, mas não. Como o request foi feito antes dos 15 minutos (metade), o cookie não foi re-criado, portanto o usuário só tem mais 15 minutos antes de perder o login.

Essa pequena imprecisão do timeout ocorre por default com o objetivo de manter o servidor mais escalável. Porém se isso não for desejável na sua aplicação, se precisar ter um timeout da formsauthentication preciso, então isso pode ser configurado no web.config, na tag forms, para que o cookie seja re-criado a cada acesso.

Para isso basta acrescentar um atributo a mais na tag form do web.config : slidingExpiration="true"

Com isso o timeout do cookie será corrigido a cada requisição.

Mais um detalhe : Fique atento na relação entre o timeout de autenticação e o timeout de sessão. Poderá ter problemas conforme um ou outro expire primeiro. Lembre-se que, ao contrário do ASP 3, não é mais a sessão que controla a autenticação.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br