Используйте javascript для проверки входа в систему с помощью

У меня есть приложение rails 3, использующее devence для аутентификации, и вы хотите использовать javascript, чтобы узнать, вошел ли пользователь в систему. Какой лучший способ сделать это?

Ответы

Ответ 1

Поскольку Devise основан на Warden, вы можете использовать обратные вызовы Warden для установки дополнительного файла cookie, который будет отображаться из js (в отличие от файла cookie только для сервера), например, в вашем devise.rb:

  Warden::Manager.after_set_user do |user,auth,opts|
    auth.cookies[:signed_in] = 1
  end

  Warden::Manager.before_logout do |user,auth,opts|
    auth.cookies.delete :signed_in
  end

Ответ 2

Похоже, что Rails хранит сеанс на клиенте в cookies.

Я проверил бы файлы cookie в вашем приложении, когда вы войдете в систему (console.log( document.cookies )), и посмотрите, что там не существует, когда вы выходите из системы.

Таким образом, вы легко увидите, как проверить, подключены вы или нет на клиенте.