我正在使用Devise gem处理我网站中的登录/注销。在客户端我使用AngularJS缓存是DSCacheFactory。
我遇到有关浏览器缓存或angularJS缓存的问题。会话结束时,缓存仍会存储旧值。
示例:
我希望用户B登录网站后显示用户B
Angular DSCacheFactory只会在浏览器缓存过期时清除它们。
如何在登录用户B(会话结束)后清除DSCacheFactory用户A.
答案 0 :(得分:1)
我知道这个帖子已经过时了,但是如果有人需要解决问题的话,以便将来参考。
您必须检查用户当前是否使用某个帐户登录,并且在新登录时尝试使以前的会话无效。
如果您使用该代码覆盖Devise :: SessionsController和Create操作,您应该注意到预期的结果。它适用于角度设计库
https://github.com/cloudspace/angular_devise
def create
if user_signed_in? && params[:user].present?
sign_out(current_user)
end
super
end