防止REST风格的API轨3.2.2创建会话(Prevent session creation on

2019-07-29 12:11发布

如何防止会话存储从JSON / XML调用中创建一个会话?

我的问题是我保存会话在数据库中,它被淹没在多个API调用。

我使用Rails 3.2.2和设计进行验证。

Answer 1:

我在这里的问题是与内部设计监狱长。 我不得不“告诉”监狱长对用户不存储在会话中的用户进行身份验证后。

resource = warden.authenticate!(:scope => resource_name, :store => !(request.format.xml? || request.format.json?))

希望帮助谁看到这个线程。



Answer 2:

resource = warden.authenticate!(:scope => resource_name, :store => is_navigational_format?)


Answer 3:

从理论上讲,如果你不使用它,它现在没有加载。 直到导轨2.3.8,你可以这样做:

# application_controller.rb
session :off, :if => :sessionless_request?

protected

def sessionless_request?(request)
  request.format == :xml || request.format == :json
end 

现在你可以用这种宝石一样https://github.com/kares/session_off



Answer 4:

你应该用“设计:timeoutable”在你的模型和配置/初始化/ devise.rb使用config.timeout_in = 0

重新启动服务器!



文章来源: Prevent session creation on rails 3.2.2 for RESTful api