{"id":1964,"date":"2012-10-02T11:35:44","date_gmt":"2012-10-02T16:35:44","guid":{"rendered":"http:\/\/www.uv.mx\/personal\/gvera\/?p=1964"},"modified":"2012-11-26T15:12:44","modified_gmt":"2012-11-26T21:12:44","slug":"event-code-4005-forms-authentication-failed-for-the-request-reason-the-ticket-supplied-has-expired","status":"publish","type":"post","link":"https:\/\/www.uv.mx\/personal\/gvera\/2012\/10\/02\/event-code-4005-forms-authentication-failed-for-the-request-reason-the-ticket-supplied-has-expired\/","title":{"rendered":"Event code: 4005 Forms authentication failed for the request. Reason: The ticket supplied has expired"},"content":{"rendered":"<p>Son varias las razones por las que este mensaje suele aparecer en el visor de eventos de un servidor sirviendo aplicaciones de .NET, en esta entrada voy a aboradr la m\u00e1s com\u00fan y la menos grave. Algunas razones por las que pasa esto son:<\/p>\n<ul>\n<li>Un dispositivo de red (un firewall, un proxy, etc.) est\u00e1 removiendo la cookie de autenticaci\u00f3n en el paso de datos entre el cliente y el servidor.<\/li>\n<li>Si el ticket de autenticaci\u00f3n se genera manualmente en nuestra app, es posible que la propiedad time-out la estemos estableciendo con un valor menor al valor Expiration del web.config.<\/li>\n<li>El pool donde est\u00e1 correindo la app se recicl\u00f3.<\/li>\n<\/ul>\n<p>En el caso de apps sobre Framework 4, el mensaje cambia ligeramente a:<br \/>\n<code><br \/>\nEvent code: 4005<br \/>\nEvent message: Forms authentication failed for the request. Reason: The ticket supplied was invalid.<\/code><br \/>\n<\/code><\/p>\n<p>Microsoft aborda con m\u00e1s a detalle estos y otros casos: <a title=\"Troubleshooting Forms Authentication\" href=\"http:\/\/www.iis.net\/learn\/troubleshoot\/security-issues\/troubleshooting-forms-authentication\" target=\"_blank\">Troubleshooting Forms Authentication<\/a><\/p>\n<h3>REMOVER LAS ADVERTENCIAS<\/h3>\n<p>Lo primero que hay que detectar, es cu\u00e1l es la causa de las p\u00e9rdidas de la cookie de autenticaci\u00f3n. Si es un mensaje que aparece constantemente y varias veces al d\u00eda, entonces posiblemente sea un problema grave con nuestra red, con nuestro c\u00f3digo, con el cifrado en el web.config o machine.config, entre otras causas. Este documento nos puede apoyar a encontrar el problema, adem\u00e1s que ofrece alernativas para solucionarlo:\u00a0<a title=\"Troubleshooting Forms Authentication\" href=\"http:\/\/www.iis.net\/learn\/troubleshoot\/security-issues\/troubleshooting-forms-authentication\" target=\"_blank\">Troubleshooting Forms Authentication<\/a><\/p>\n<p>Si estos mensajes aparecen poco, uno o dos por d\u00eda o semana, entonces es algo relativamente normal. Quiz\u00e1 el usuario dej\u00f3 abierta su sesi\u00f3n mucho tiempo, una p\u00e9rdida en el transporte de los paquetes en la red, se recicl\u00f3 nuestro pool de aplicaci\u00f3n, en fin, cosas normales. Generalmente el usuario no se da cuenta de la expiraci\u00f3n del ticket pues a lo mucho (no en todos los casos) le pedir\u00e1 nuevamente autenticarse para continuar trabajando normalmente. Si este es nuestro caso, podemos remover las advertencias en nuestro visor de eventos agregando lo siguiente en el archivo web.config de la aplicaci\u00f3n:<\/p>\n<p>[xml]<br \/>\n&lt;configuration&gt;<br \/>\n   &lt;system.web&gt;<br \/>\n      &lt;healthMonitoring&gt;<br \/>\n         &lt;rules&gt;<br \/>\n            &lt;remove name=&quot;Failure Audits Default&quot; \/&gt;<br \/>\n         &lt;\/rules&gt;<br \/>\n      &lt;\/healthMonitoring&gt;<br \/>\n   &lt;\/system.web&gt;<br \/>\n&lt;\/configuration&gt;<br \/>\n[\/xml]<\/p>\n<p>Con esto dejan de aparecer todos los eventos System.Web.Management.WebFailureAuditEvent, que tienen que ver con fallas en la autorizaci\u00f3n\/autenticaci\u00f3n y est\u00e1n dentro del rango de 4005-4011. De nuevo, para los casos donde sabemos lo que est\u00e1 pasando y hay seguridad de que no es una falla de la aplicaci\u00f3n, no es mala idea removerlos de nuestro visor de eventos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Son varias las razones por las que este mensaje suele aparecer en el visor de eventos de un servidor sirviendo aplicaciones de .NET, en esta entrada voy a aboradr la m\u00e1s com\u00fan y la menos grave. Algunas razones por las que pasa esto son: Un dispositivo de red (un firewall, un proxy, etc.) est\u00e1 removiendo&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[11,94,46,64],"class_list":["post-1964","post","type-post","status-publish","format-standard","hentry","category-blog","tag-articulos-2","tag-asp-net","tag-desarrollo-de-software","tag-microsoft-2"],"_links":{"self":[{"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/posts\/1964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/comments?post=1964"}],"version-history":[{"count":0,"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/posts\/1964\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/media?parent=1964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/categories?post=1964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uv.mx\/personal\/gvera\/wp-json\/wp\/v2\/tags?post=1964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}