Chcę unieważnić sesję, gdy użytkownik wylogowuje się przy użyciu narzędzia Devise, mam wywołanie zwrotne do przechwytywania, gdy użytkownik się wylogowuje, w celu zwiększenia ochrony przed przejęciem sesji.Jak unieważnić określoną sesję przy wylogowywaniu w Rails/w Devise?
class ApplicationController < ActionController::Base
def sign_out(*args)
super(*args)
reset_session
end
end
Rozumiem, że spowodowałoby to usunięcie informacji o sesji przechowywanych po stronie serwera, a zatem ich unieważnienie.
Jednak nadal mogę się zalogować, używając identyfikatora sesji, który otrzymałem przed wylogowaniem. Czy nie rozumiem, jak to działa? Chcę tylko unieważnić tylko tę sesję, nie wszystkie.
Używam domyślnego dla session_store.
skąd otrzymujesz 'session_id'? także jaki inny niestandardowy kod niestandardowy został dodany? – pungoyal
Byłem pod wrażeniem, że reset_session nie wymagało nabycia identyfikatora session_id, nie dodałem żadnego niestandardowego kodu, który wpłynąłby na wartości sesji. – Saifis