2013-05-08 1 views
0

У меня есть приложение Rails, работающее на Ubuntu, Nginx и Thin.Rails Nginx и Thin - почему пользователи не выходят из системы при утилизации?

Когда я останавливаю Nginx, и я останавливаю Thin-серверы, развертывая $ cap, а затем перезапускает Thin и Nginx, я бы ожидал, что пользователь должен будет снова войти в систему. Но они этого не делают.

Есть ли способ заставить их снова войти в систему?

Спасибо!

ответ

1

Пользователям не нужно входить в систему, поскольку их сеансы хранятся в хранилище постоянных сеансов (обычно это база данных), которые Rails не изменяет между развертываниями. Входящий в систему пользовательский браузер отправляет файлы cookie на каждый HTTP-запрос, а Rails аутентифицирует эти файлы cookie в хранилище сеансов. Чтобы заставить пользователей регистрироваться, вам необходимо изменить это хранилище сеансов, удалив записи или изменив время истечения срока действия.

Предполагая, что вы храните свои сессии в базе данных с использованием ActiveRecord,

rake db:sessions:clear 

должен заставить истекает все существующие сеансы, удалив все строки в таблице, где хранится сессия.

+0

Спасибо за помощь! Я просто попробовал это на своем локальном хосте, и это не сработало, потому что у меня нет таблицы pg, называемой сессиями. – Reddirt

+0

Как узнать, где хранятся мои сеансы? – Reddirt

+0

ОК, я нашел session_store.rb, и я не использую базу данных. Должен ли я использовать базу данных? – Reddirt