Используйте 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 )
), и посмотрите, что там не существует, когда вы выходите из системы.
Таким образом, вы легко увидите, как проверить, подключены вы или нет на клиенте.