Предотвращение входа нескольких учетных записей на одном устройстве / машине в Rails 3 с Devise - PullRequest
0 голосов
/ 02 августа 2011

Половина или более наших пользователей относятся к определенной демографической группе, состоящей из эмигрантов. Довольно многие из них являются парами, которые используют одну и ту же машину, но имеют разные учетные записи. Ради целостности данных я хочу закрыть существующий сеанс на машине, если будет предпринят другой вход в систему с учетной записью второго пользователя. Кто-нибудь знает, как это сделать?

Спасибо!

ОБНОВЛЕНИЕ: Не совсем уверен, как я мог бы использовать эту информацию еще. Не уверен в синтаксисе либо. Какой объект? Можете ли вы получить к нему доступ, если не знаете, существует ли он?

(Object) resource

Получает фактический ресурс, хранящийся в переменной экземпляра

(Object) signed_in_resource

Возвращает зарегистрированный ресурс из сеанса (если он существует)

ОБНОВЛЕНИЕ 2: Становиться ближе ... я думаю. Возможно, сессионный cookie является ключом. Интересно, как я удаляю его в конце сеанса. Если он существует, если я его удаляю, то это убивает существующий сеанс, и тогда логин может начинать новый. Поработайте над этим, когда я вернусь с обеда.

1 Ответ

0 голосов
/ 02 августа 2011

Ответ был так прост.Удаление cookie прекращает сеанс.

if cookies[:_Applicationname_session]
  cookies.delete(:_Applicationname_session)
end

«Имя приложения» - это имя приложения.Он находится, среди прочего, в вашем файле application.rb.Например:

module Applicationname
  class Application < Rails::Application

ВАЖНО : не забывайте подчеркивание, предшествующее имени приложения.

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