我正在使用设计gem来处理我的网站的登录/注销。在客户端,我使用AngularJS缓存是DSCacheFactory。
我有一个关于浏览器缓存或angularJS缓存的问题。当会话结束时,缓存仍然保存旧值。的例子:
- 登录用户A
- 注销用户A
- 登录用户B网站显示用户a
我期望用户B登录后网站显示用户B
Angular的DSCacheFactory只会在浏览器缓存过期时清除它们。
如何在登录用户B(会话结束)后清除DSCacheFactory用户A
我知道这篇文章是旧的,但为了将来参考,如果有人需要解决所描述的问题。
您必须检查用户当前是否使用某些帐户登录,并且在新登录尝试时仅使先前的会话无效。
如果你重写设计::SessionsController和创建操作与该代码,你应该注意到预期的结果。它可以在angular的设计库
中正常工作。https://github.com/cloudspace/angular_devise def create
if user_signed_in? && params[:user].present?
sign_out(current_user)
end
super
end