6

J'utilise actuellement le plug-in RESTful Authentication sur mon application rails.Rails - Catch 'Invalid Authenticity Token' exception

Il existe un scénario typique lorsqu'un utilisateur reste sur l'écran de connexion suffisamment longtemps (disons 1 jour ...) qui rend le jeton d'authentification invalide en raison de l'expiration du délai. Lorsque cet utilisateur essaye le jour suivant de se connecter (il ne s'est pas rafraîchi, il est toujours avec ce jeton invalide), il obtiendra une erreur HTTP "500". Faire planter l'application pour cette requête.

Je me demande s'il est possible d'attraper cette attente et d'avertir l'utilisateur. Comme tout autre utilisateur Web innocent, il fait juste en arrière et essaie à nouveau .. et obtient à nouveau la même erreur ...

Répondre

11

Dans votre application_controller.rb vous allez faire quelque chose comme:

rescue_from Your::Exception, :with => :show_some_error_page 

Cela vous permettra de vous affichez une action, dans ce cas show_some_error_page lorsqu'une exception non gérée se produit.

J'espère que cela aide.

-2

Si cela se produit souvent pour une action de contrôleur particulier, vous pouvez également désactiver l'authenticité jeton entièrement la vérification pour cette action ...

skip_before_filter :verify_authenticity_token, :only => [:create] 
+7

Ne serait-ce extrêmement unsecure? Mes journaux montrent des tentatives de piratage fréquentes pour se connecter créant ces exceptions. – allesklar

Questions connexes