2015-12-18 17 views
27

Załóżmy, że chcemy zmienić aplikację naszej aplikacji Railsowej secret_key_base. Czy jest jakiś sposób, aby nie od razu wylogować wszystkich naszych użytkowników?Czy istnieje sposób, aby z wdziękiem zmienić szyny secret_key_base?

Podczas aktualizacji z Rails 3.2 do 4, z odpowiednią zmianą z secret_token na secret_key_base, szyny pomogły w migracji, aktualizując pliki cookie nowych użytkowników w momencie ich odwiedzania. Po odwiedzeniu dużej części użytkowników możesz przełączyć się na secret_key_base wyłącznie bez konieczności ich logowania.

Czy ten rodzaj funkcjonalności jest dostępny do zmiany secret_key_base ogólnie, powiedzmy, jeśli programista odejdzie lub coś w tym stylu? Chodzi o to, aby ustawić nową secret_key_base, która będzie przełączać ciasteczka użytkowników, kiedy przychodzą one na stronę. Po odwiedzeniu dobrych proporcji, możesz włączyć twardy przełącznik i usunąć stary secret_key_base.

Znalazłem old rails pull request, który wydaje się zaczynać od tej funkcjonalności, ale wydaje się, że przestał nad nią pracować.

+0

jakie są twoje miejsca na sesje? – Meliborn

+0

możesz utworzyć system równoważenia obciążenia na 2 serwerach aplikacji i sterować ruchem w zależności od kraju i przeprowadzić migrację każdego kraju oddzielnie. –

+1

Minęły prawie 4 miesiące ... Czy rozwiązałeś ten problem? Gdybyś to zrobił, byłoby wspaniale, gdybyś podzielił się swoim rozwiązaniem! –

Odpowiedz

-3

najpierw wygenerować tajny

rake secret 

i ustawić te wartości w config/secrets.yml

a następnie ustawić Ci tajny klucz do swojego .bashrc

gedit .bashrc 

wklej go na końcu pliku

export SECRET_KEY_BASE='YOUR SECRET KEY' 
+1

Poniższe kroki nie odnoszą się do zadawanego pytania. –

-3

szyn rake secret

szyny 5 rails secret

+2

To nie rozwiązuje problemu OP. – Uzbekjon

+0

To zadanie unieważnia stare sesje/pliki cookie Jeśli nie, możesz spróbować zniszczyć wszystkie stare sesje. Utwórz dla nich specjalną trasę. http://api.rubyonrails.org/classes/ActionDispatch/Session/CookieStore.html – JBG

+0

czy to jest nawet odpowiedź? – SsouLlesS

1

W celu dokonania tej pracy należy dostosować szyn się wersjonowania go. Nie sądzę, aby ta odpowiedź była wybrana, ale chciałbym Cię ostrzec, jak głębokie mogą być te zmiany i jaki jest brak bezpieczeństwa, który wprowadzisz do swojej aplikacji.

Powiązane problemy