16

認証にdeviseを使用するRails3アプリがあり、JavaScriptを使用してユーザーがログインしているかどうかを確認したいと思います。これを行うための最良の方法は何ですか?

4

2 に答える 2

19

DeviseはWardenに基づいているため、Wardenのコールバックを使用して、jsから表示される追加のCookieを設定できます(サーバーのみのセッション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
于 2012-12-24T17:49:43.233 に答える
-2

RailsはクライアントのセッションをCookieに保存しているようです。

私はあなたがログインしているときにあなたのアプリケーションのクッキーをチェックし(console.log( document.cookies ))、あなたがログアウトしているときにそこにないものを確認します。

このようにして、クライアントに接続されているかどうかを確認する方法を簡単に確認できます。

于 2012-04-20T16:55:17.917 に答える