我有一个使用 devise 进行身份验证的 rails 3 应用程序,并且想使用 javascript 查看用户是否已登录。最好的方法是什么?
问问题
3429 次
2 回答
19
由于 Devise 基于 Warden,您可以使用 Warden 的回调设置一个额外的 cookie,该 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
于 2012-12-24T17:49:43.233 回答
-2
看起来 Rails 将客户端上的会话存储在cookie中。
当您登录 ( console.log( document.cookies )
) 时,我会检查您的应用程序中的 cookie,并查看您注销时不存在的内容。
这样,您将轻松了解如何在客户端上检查您是否已连接。
于 2012-04-20T16:55:17.917 回答