6

Używam obecnie wtyczki RESTful Authentication w mojej aplikacji rails.Rails - wyjątek "Catch Unvalid Authenticity Token"

Istnieje typowy scenariusz, gdy użytkownik pozostaje na ekranie logowania przez wystarczająco długi czas (powiedzmy 1 dzień ..), który unieważnia token uwierzytelniania z powodu upływu czasu.

Gdy użytkownik próbuje zalogować się następnego dnia (nie odświeżył się, nadal jest z tym nieważnym tokenem), otrzyma błąd http "500". Zgłaszanie awarii aplikacji dla tego żądania.

Zastanawiam się, czy możliwe jest złapanie tego wyjątku i ostrzeżenie użytkownika. Jak każdy inny niewinnej internautę on po prostu robi się i próbuje ponownie .. i ponownie ją ten sam błąd ...

Odpowiedz

11

W swojej application_controller.rb zrobisz coś takiego:

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

To pozwoli możesz pokazać pewne działanie, w tym przypadku show_some_error_page, gdy wystąpi nieobsługiwany wyjątek.

Mam nadzieję, że to pomoże.

-2

takim przypadku często do konkretnego działania kontrolera, można również wyłączyć sprawdzanie autentyczności tokenu całkowicie dla tego działania ...

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

nie Mogłoby to być niezwykle niezabezpieczone? Moje dzienniki pokazują częste próby włamania się do logowania w celu utworzenia tych wyjątków. – allesklar