Очистить хранилище сессии для конкретного пользователя в рельсах - PullRequest
0 голосов
/ 07 мая 2018

Я использую cookie_store session_store для сохранения сеансов моего приложения rails 4. Вот мой код

Rails.application.config.session_store: cookie_store, ключ: '_app_session'

У меня вопрос, как я могу сделать недействительным сеанс определенного пользователя?

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете сделать недействительной сессию текущего пользователя только путем вызова reset_session, который делает недействительным идентификатор его сессии.

Сервер не знает, какие идентификаторы сеанса связаны с каким идентификатором пользователя (базы данных) с cookie_store. Он просто отслеживает список допустимых идентификаторов сеанса. Если идентификатор сеанса, указанный в файле cookie, действителен, то Rails дешифрует и десериализует файл cookie хранилища сеанса. Здесь хранится идентификатор пользователя. Поскольку идентификаторы пользователя хранятся клиентом, невозможно выполнить итерацию по хранилищам сеансов и найти идентификатор сеанса по идентификатору пользователя.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...