Этот драгоценный камень хорошо работает: https://github.com/phatworx/devise_security_extension
Добавить в Gemfile
gem 'devise_security_extension'
после установки пакета
rails g devise_security_extension:install
Затем запустите
rails g migration AddSessionLimitableToUsers unique_session_id
Отредактируйте файл миграции
class AddSessionLimitableToUsers < ActiveRecord::Migration
def change
add_column :users, :unique_session_id, :string, limit: 20
end
end
Затем запустите
rake db:migrate
Отредактируйте приложение /models/user.rb file
class User < ActiveRecord::Base
devise :session_limitable # other devise options
... rest of file ...
end
Выполнено. Теперь вход в другой браузер приведет к удалению любых предыдущих сеансов. Драгоценный камень фактически уведомляет пользователя о том, что он собирается убить текущий сеанс перед входом в систему.