Rails 4 будет включать зашифрованные сеансы на основе файлов cookie. Мы хотели бы перейти на это из активного хранилища файлов cookie. Есть ли способ сделать это, не прерывая клиентов моего приложения? Я не хочу удалять все текущие сеансы.Перенесите сеанс из активного магазина записей в хранилище файлов cookie
ответ
Согласитесь с Нафаном, не возвращайтесь назад, если вы не беспокоитесь о производительности БД из-за хранения сеансов. В этом случае я предлагаю Redis или Memcached store для ваших сеансов, а не для файлов cookie.
Есть еще одна проблема. Я попытался перейти из активной записи в хранилище файлов cookie, и каждый пользователь теперь получает ошибку «Мы сожалеем, но что-то пошло не так». Решение состоит в том, чтобы очистить файлы cookie, но я должен рассказать об этом каждому пользователю. Многие из них подумают, что сайт сломан. Так что это плохо. И если вы не можете связаться с каждым пользователем, это очень плохо.
Это выполнимо, я просто сделал это по-другому (по причинам, в которые я не буду входить, нам нужно было иметь их в базе данных). В контроллере приложения, поставить перед фильтром, как это:
prepend_before_filter :migrate_session
def migrate_session
# migrating over old sessions
session_model = YourSessionModel.find_by_session_id(session.id)
if session_model
data = session_model.data
data.each do |key,value|
session[key] = value
end
session_model.destroy
end
end
Все, что входит в хэш сессии будет сохранялось в куки. После того, как у вас больше нет активных сеансов записи, вы можете избавиться от этого кода.
- 1. PHP Перенесите сеанс без www
- 2. Написание файлов cookie из CookieContainer в хранилище cookie IE
- 3. Локальное хранилище против файлов cookie
- 4. сеанс wordpress и обработка файлов cookie извне
- 5. Хранилище HTML5 без зависимости от файлов cookie
- 6. ExtJs 4 POST массив записей из магазина
- 7. Настройки магазина в Javascript Cookie
- 8. Значения формы магазина в Cookie
- 9. Экспресс-сеанс с использованием магазина redis не смог создать сеанс
- 10. Безопасное хранилище - временное за сеанс
- 11. Cookie не добавляется в сеанс
- 12. Написание файлов cookie из CookieContainer в хранилище cookie IE с использованием C#
- 13. Надежно перенесите битку файлов из одного приложения Heroku в другое
- 14. Как сохранить сеанс в android с помощью файлов cookie?
- 15. Хранение и восстановление файлов cookie в Android (постоянное хранилище файлов cookie)
- 16. Как использовать локальное хранилище для активного класса?
- 17. Отдельное хранилище файлов cookie для двоих (UIWebView или WKWebView)
- 18. Удалить сеанс cookie qt
- 19. PHP cookie и сеанс
- 20. сеанс cookie asp.net C#
- 21. Персистский сеанс Cookie в Scrapy
- 22. ASP.NET сеанс против состояния сеанса и файлов cookie против файлов cookie меньше
- 23. Простое извлечение всех записей из магазина
- 24. Flex-cookie-хранилище
- 25. Чтение файлов cookie cookie из командной строки
- 26. Имея отдельное хранилище файлов cookie для двух UIWebView?
- 27. Сохранение файлов cookie в UIWebView?
- 28. Защита файлов cookie и сеансов PHP для учетных записей пользователей
- 29. «Хранилище данных», например, дизайн магазина SQLite
- 30. сеанс от Android до PHP без файлов cookie
Могу ли я спросить, почему вы хотите это сделать? Из руководства по безопасности рельсов http://guides.rubyonrails.org/security.html вам следует избегать хранения больших объектов в файлах cookie. => ОК, теперь он безопасен, но вы должны избегать больших файлов cookie. Поэтому для меня просто продолжайте использовать активный сеанс записи, даже если вы используете зашифрованные файлы cookie. – joel1di1