我正在使用 Devise gem 来处理我网站中的登录/注销。在客户端我使用 AngularJS 缓存是 DSCacheFactory。
我对浏览器缓存或 angularJS 缓存有疑问。会话结束时,缓存仍然存储旧值。
例子:
- 登录用户A
- 注销用户 A
- 登录用户 B 网站显示用户 A。
我希望在用户 B 登录网站后显示用户 B
Angular DSCacheFactory 只是在浏览器缓存过期时清除它们。
如何在登录用户 B(会话结束)后清除 DSCacheFactory 用户 A。
我正在使用 Devise gem 来处理我网站中的登录/注销。在客户端我使用 AngularJS 缓存是 DSCacheFactory。
我对浏览器缓存或 angularJS 缓存有疑问。会话结束时,缓存仍然存储旧值。
例子:
我希望在用户 B 登录网站后显示用户 B
Angular DSCacheFactory 只是在浏览器缓存过期时清除它们。
如何在登录用户 B(会话结束)后清除 DSCacheFactory 用户 A。
我知道那篇文章很旧,但如果有人需要解决所描述的问题,以供将来参考。
您必须检查用户当前是否使用某个帐户登录,并且在尝试新登录时只是使之前的会话无效。
如果您使用该代码覆盖 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