簡體   English   中英

設計錯誤-ActionController :: InvalidAuthenticityToken

[英]Devise error - ActionController::InvalidAuthenticityToken

在管理員和用戶登錄同一頁面時,在設計登出時出現問題

例如,我在chrome瀏覽器中以用戶身份登錄,而在同一瀏覽器中以admin身份登錄,當我退出admin會話時,該用戶會話會自動注銷並重定向到登錄頁面。
當我嘗試以用戶身份登錄時,它已成功登錄並進入管理員登錄頁面並嘗試登錄,它顯示-

ActionController::InvalidAuthenticityToken

我今天有同樣的問題。 以防萬一,我想分享我找到的一種解決方案。 在閱讀設備回購中的這個問題后,我有了這個主意: 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

  # ...

我不知道這是否是最好的解決方案。 如果有人有其他解決方案,我想學習。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM