首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails dalli gem,使用会话id加载会话

Rails dalli gem,使用会话id加载会话
EN

Stack Overflow用户
提问于 2011-01-08 07:26:46
回答 1查看 760关注 0票数 2

当使用dalli_store作为会话存储时,如果我知道会话id,有没有办法获取会话信息?r

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-12 02:57:27

在config/initializers/session_store.rb中添加

代码语言:javascript
复制
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应该包含:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4631209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档