Ruby on rails 每个Rails引擎的会话存储
我们如何设置Rails引擎以拥有自己的Ruby on rails 每个Rails引擎的会话存储,ruby-on-rails,ruby,session-cookies,Ruby On Rails,Ruby,Session Cookies,我们如何设置Rails引擎以拥有自己的会话存储配置 到目前为止,我们已经尝试了以下方法: Console::Engine.config.session\u存储:活动的\u记录\u存储,键:'\u session\u id' 输出以下错误: /.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/railties-4.2.10/lib/rails/railtie/configuration.rb:95:in `method_missing': undefin
会话存储
配置
到目前为止,我们已经尝试了以下方法:
Console::Engine.config.session\u存储:活动的\u记录\u存储,键:'\u session\u id'
输出以下错误:
/.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/railties-4.2.10/lib/rails/railtie/configuration.rb:95:in `method_missing': undefined method `session_store' for #<Rails::Engine::Configuration:0x00007fb6859ba238> (NoMethodError)
from /Code/App/engines/console/config/initializers/session_store.rb:1:in `<top (required)>'
from /.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in `load'
/.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/railties-4.2.10/lib/rails/railtie/configuration.rb:95:in'method_missing':未定义的方法#(nomethoderor)
从/Code/App/engines/console/config/initializers/session_store.rb:1:in`'
from/.rbenv/versions/2.4.6/lib/ruby/gems/2.4.0/gems/activesupport-4.2.10/lib/active\u support/dependencies.rb:268:in'load'
原因是Rails::Engine::Configuration没有会话存储
,但是Rails::Application::Configuration有
关于如何实现这一点,您有什么想法吗?引擎必须在应用程序的上下文中运行,因此这不太可能起作用。你想做什么?@dbugger目前可以从浏览器控制台复制\u session\u id
,然后用户可以访问我们的任何子域并更改\u session\u id
,从而绕过正常登录过程。这是一个安全问题。不确定采取什么方法来防止这种情况发生。您是否正在使用Desive或其他auth gem?如果你正在做一个多租户应用程序,你可能想看看公寓的宝石。这听起来像是身份验证策略/实现的一个更基本的问题。引擎必须在应用程序的上下文中运行,因此这不太可能工作。你想做什么?@dbugger目前可以从浏览器控制台复制\u session\u id
,然后用户可以访问我们的任何子域并更改\u session\u id
,从而绕过正常登录过程。这是一个安全问题。不确定采取什么方法来防止这种情况发生。您是否正在使用Desive或其他auth gem?如果你正在做一个多租户应用程序,你可能想看看公寓的宝石。这听起来像是身份验证策略/实现的一个更基本的问题。