Nie mogę go nigdzie znaleźć ... Jak mogę usunąć/zniszczyć/zresetować/opróżnić/wyczyścić sesję użytkownika w Railsach? Nie tylko jedna wartość, ale cała rzecz.Jak opróżnić/zniszczyć sesję w szynach?
Odpowiedz
Aby wyczyścić całość, użyj metody reset_session w kontrolerze.
reset_session
Oto dokumentację tej metody: http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
resetuje sesja czyszcząc wszystkie przedmiotów przechowywanych wewnątrz i inicjuje nowy obiekt sesji.
Powodzenia!
sesja w szynach to obiekt mieszający. Dlatego każda funkcja dostępna do czyszczenia hash będzie działała z sesjami.
session.clear
lub jeśli konkretne klawisze mają być zniszczone:
session.delete(key)
Testowany w szynach 3,2
Ktoś myśli o zaletach tej metody w porównaniu z zalecaną przez Gdeglin? –
Można tego użyć, jeśli chcesz zachować inne parametry, ale usunąć jedną określoną parę kluczy. – Lavixu
Przypuszczam, że miałem na myśli użycie 'session.clear' lub' session = {} 'kontra użycie' reset_session'. Czy są identyczne? –
aby usunąć tylko niektóre parametry, można użyć:
[:param1, :param2, :param3].each { |k| session.delete(k) }
do usuń sesję użytkownika
session.delete(:user_id)
Ostrożnie, możesz usunąć rekord użytkownika z bazy danych! – Arthur
@Arthur To nie jest prawda. Ale usuniesz tylko klucz: identyfikator_użytkownika z sesji, a nie całą sesję –
dodać ten kod do swojej ApplicationController
def reset_session
@_request.reset_session
end
(nie wiem dlaczego nikt powyżej tylko wspomnieć ten kod jak to naprawić mój problem) http://apidock.com/rails/ActionController/RackDelegation/reset_session
Tylko jedną, która działała dla mnie. – amingilani
- 1. Jak przerwać sesję w Magento?
- 2. Jak odnowić sesję spotify?
- 3. Wyłącz sesję w Laravel
- 4. Zniszcz sesję w JSP
- 5. Jak uzyskać sesję Liferay w niestandardowym serwlecie?
- 6. Jak niszczyć sesję w sesji klienta
- 7. Jak czytać sesję Zend2 w aplikacji Symfony3
- 8. Python: Jak "rozwidlić" sesję w django
- 9. Jak zmodyfikować sesję w ramach testu Django
- 10. Jak usunąć określoną sesję w asp.net?
- 11. Jak kontrolować sesję ekranową w sesji screen?
- 12. Jak programowo uruchomić sesję OAuth?
- 13. Jak zamknąć zamrożoną sesję SSH?
- 14. Jak zakończyć sesję wiosną 3
- 15. Jak odesłać js.haml w szynach
- 16. Utwórz sesję w języku C#
- 17. Przywróć sesję Emacsa/Desktop
- 18. Naprawdę niszcząc sesję PHP?
- 19. Pobierz sesję z HttpActionContext
- 20. Jak przechowywać sesję na wiosnę MVC
- 21. jak zaimplementować login php lub sesję uwierzytelniania
- 22. default_scope w szynach 3
- 23. Jak zautomatyzować sesję Telnet bez przycisków Wyślij
- 24. Jak rozbroić określoną sesję php po wylogowaniu
- 25. Jak przyznać uprawnienie "utwórz utworzyć sesję"?
- 26. Jak mogę odświeżyć sesję podczas żądania POST?
- 27. Jak rozbroić sesję komunikatu o błędzie Magento?
- 28. Jak mogę zapisać sesję R do pliku?
- 29. Sortowanie alfabetycznie w szynach
- 30. Jak zapisać sesję tmux do projektu tmuxinator?
Dla sesji bazodanowych opartych (które powinny prawdopodobnie używaj) możesz wygasić poprzez zapytanie: http://guides.rubyonrails.org/security.html#session-expiry – m33lky