Mam aplikację rails 4, w której używam narzędzia devise do uwierzytelniania i działa idealnie. Jedynym moim problemem jest to, że traci sesję użytkownika po jej wdrożeniu na serwerze, a użytkownicy muszą się ponownie zalogować.Devise przegrywa sesję po wdrożeniu
Jeśli po prostu wykonam restart Nginx/Pasażera (którego używam dla mojej aplikacji), to go nie straci. Gdy wdrażam aplikację, tracę ją. Wdrożenie powoduje także automatyczne wymazanie całej bazy danych, a mój skrypt wdrażania uruchamia plik zarodków, który również generuje użytkowników.
Obecnie tworzymy aplikację, więc tego rodzaju zachowania są do przyjęcia, ale w przyszłości, gdy aplikacja będzie gotowa, nie zrobimy tego w ten sposób (oczywiście!).
Czy to jest problem związany z ponownym nasadzeniem, czy powinienem sprawdzić coś innego? Widzę, że zaszyfrowane hasło zmienia się za każdym razem, gdy uruchamiam akcję wymazywania/seedowania, czy ma to związek z przegraną sesji użytkownika?
Nasza aplikacja jest w fazie rozwoju, kiedy będzie w produkcji, nie zrobimy tego w ten sposób, dodamy tylko migracje (napisałem to w mojej wiadomości). Zmieniamy/testujemy za dużo, dlatego jest to konieczne w tej początkowej fazie. Identyfikator użytkownika jest specyficznie zdefiniowany w elemencie seed, więc użytkownicy mają ten sam identyfikator za każdym razem, gdy wysyłamy bazę danych. Nie zmieniamy secret_token i używamy domyślnego urządzenia. Dlaczego tak się dzieje? – JohnDel
@JohnDel o innych dwóch sugestiach? tabela sesji i identyfikator użytkownika? – Subhas
Używamy: cookie_store jako session_store (wewnątrz inicjalizatora), a użytkownicy mają te same identyfikatory przed i po wymazywaniu/ponownym wysyłaniu. – JohnDel