0

我正在使用 Devise gem 来处理我网站中的登录/注销。在客户端我使用 AngularJS 缓存是 DSCacheFactory。

我对浏览器缓存或 angularJS 缓存有疑问。会话结束时,缓存仍然存储旧值。

例子:

  1. 登录用户A
  2. 注销用户 A
  3. 登录用户 B 网站显示用户 A。

我希望在用户 B 登录网站后显示用户 B

Angular DSCacheFactory 只是在浏览器缓存过期时清除它们。

如何在登录用户 B(会话结束)后清除 DSCacheFactory 用户 A。

4

1 回答 1

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
于 2016-04-15T08:18:24.090 回答