gpt4 book ai didi

ruby-on-rails - Rails with Redis 和 Devise 不工作

转载 作者:可可西里 更新时间:2023-11-01 11:18:22 24 4
gpt4 key购买 nike

我添加了 redis-rb到我的 Rails 5 应用程序,以便处理由 sidekiq 管理的后端进程。

我的应用中的用户授权由 Devise 管理。

在让我的所有工作人员等正常运行后,我的 session 存储似乎现在已损坏。问题是当我注销时,用户 session 不再被破坏,因此无法注销。

这是我的 session_store.rb 配置:

if Rails.env.production?
Rails.application.config.session_store :cookie_store, key: '_myapp_session', domain: ENV['SESSION_STORE_DOMAIN'], tld_length: ENV['TLD_LENGTH'].to_i
else
Rails.application.config.session_store :cookie_store, key: '_myapp_session', domain: :all, tld_length: 2
end

我还尝试使用 redis-session-store 进行试验gem 在遇到此错误后,但这会导致 InvalidAuthenticityToken 错误。

不过,我真的不想更改我的 session 存储以使用 Redis。有什么办法可以解决这个问题,还是我遗漏了什么?

更新 1

sessions_controller.rb(设计)

def destroy
signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
set_flash_message! :notice, :signed_out if signed_out
yield if block_given?
respond_to_on_destroy
end

最佳答案

在你的sessions_controller.rb中添加session.delete(:user_id)destroy方法

def destroy
#...
session.delete(:user_id)
end

关于ruby-on-rails - Rails with Redis 和 Devise 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41186042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com