Rails dalli gem, загрузка сессии с идентификатором сессии - PullRequest
2 голосов
/ 08 января 2011

есть ли способ получить информацию о сеансе, если я знаю идентификатор сеанса, когда dalli_store используется в качестве хранилища сеансов ??? r

1 Ответ

1 голос
/ 11 января 2011

В config / initializers / session_store.rb add

mem_options = {
  :key         => '_your_session_key',
  :secret      =>  ....
}

ActionController::Dispatcher.middleware.insert_before(ActionController::Base.session_store, CMS::FlashSessionCookieMiddleware, mem_options[:key])

И ваш flash_session_cookie_middleware.rb должен содержать:

require 'rack/utils'

  module CMS

  class FlashSessionCookieMiddleware
    def initialize(app, session_key = '_session_id')
      @app = app
      @session_key = session_key
    end

    def call(env)
      if env['HTTP_USER_AGENT'] =~ /^(Adobe|Shockwave) Flash/
        params = ::Rack::Utils.parse_query(env['QUERY_STRING'])
        env['HTTP_COOKIE'] = [@session_key, params[@session_key]].join('=').freeze unless params[@session_key].nil?
      end
      @app.call(env)
    end
  end

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...