Forms authentication failed for the request. Reason: The ticket supplied has expired.

 administrador da rede onde trabalho me perguntou porque o Event Log do servidor Web está com várias entradas (do tipo Information), sempre com a mesma mensagem: Event message: Forms authentication failed for the request. Reason: The ticket supplied has expired.

Esta mensagem dá-se quando temos o recurso de Membership do ASP.NET 2.0 habilitado na aplicação. Há a possibilidade do cookie do FormsAuthentication ser persistido no cliente (“Lembrar Senha”), evitando assim, de que toda vez que o usuário entrar a aplicação, precisar redigitar o login e senha. Quando o usuário deseja fazer isso, o cookie é criado e, toda vez que o mesmo acessar a aplicação, o cookie é enviado do cliente para o servidor. Se o cookie já tiver expirado e o Health Monitoring estiver habilitado, automaticamente essa mensagem é logada no Event Log.

Isso é facilmente identificado quando você utiliza o Reflector, mais precisamente dentro do método privado ExtractTicketFromCookie da classe (módulo) FormsAuthenticationModule.