2016-09-27 62 views
0
在色器件退出

了问题,而管理和用户在同一页面设计错误 - 的ActionController :: InvalidAuthenticityToken

记录例如,我记录为用户在Chrome浏览器和记录为管理员在同一个浏览器,当我退出的admin会话中,用户会话会自动注销并重定向到登录页面。
当我尝试登录,用户它是成功登录并进入管理员登录页面,尝试登录时显示 -

ActionController::InvalidAuthenticityToken 
+0

您是否试图说您无法同时在不同的浏览器上以用户和管理员身份登录? –

+0

当管理员和用户登录时没有问题,当我注销管理员或用户时,下一个也是自动注销。 –

+0

您无法在同一浏览器中为同一应用程序创建两个登录会话。 – APS

回答

0

今天我有同样的问题。以防万一,我想分享一个我找到的解决方案。我有这个想法设备回购阅读本发行后:https://github.com/plataformatec/devise/issues/3461

class Identities::SessionsController < Devise::SessionsController 

    rescue_from ActionController::InvalidAuthenticityToken, with: :force_log_out 

    #... 

    def force_log_out 
    return unless params[:action] == 'destroy' 

    puts "rescued ActionController::InvalidAuthenticityToken" 
    puts "force log out and redirect back to '/'" 
    sign_out_all_scopes 
    redirect_to '/' 
    end 

    # ... 

我不知道这是不是最好的解决办法。如果有人有其他解决方案,我想学习它们。

相关问题