【问题标题】:Using DataMapper as Padrino session store使用 DataMapper 作为 Padrino 会话存储
【发布时间】:2011-04-24 16:04:11
【问题描述】:

我能够让Rack::Session::DataMapper、Padrino 和 Omniauth 一起工作。主要目标是在主应用程序和管理部分中拥有相同的会话和用户,并拥有非常持久的会话。选项set :sessions 被禁用,所以我修补了/padrino-core-0.9.23/lib\padrino-core/application.rb:203 use Rack::Flash if flash? 以不需要sessions?。我还修补了/padrino-admin-0.9.23/lib/padrino-admin/access_control.rb:15 以不启用会话。

这是我的应用代码:

/admin/app.rb:

set :session_id, 'superapp.pro'.to_sym
use Rack::Session::DataMapper

/app/app.rb:

set :session_id, 'superapp.pro'.to_sym
use Rack::Session::DataMapper

/lib/omniauth_init.rb:

use Rack::Session::DataMapper

问题是:有没有更好的方法来与 Omniauth 建立自定义机架会话存储?我不习惯使用Rack::Session::DataMapper 三次。

【问题讨论】:

    标签: ruby datamapper rack omniauth padrino


    【解决方案1】:

    迟到的答案,但我相信如果你把:

    Padrino.before_load do
        Padrino.use Rack::Session::DataMapper
    end
    

    在你的“config/boot.rb”中你会没事的,不需要重复。

    【讨论】:

    • @ujifgc 对不起,应该是“Padrino.use”,而不仅仅是“use”。编辑了我的答案。试一试。
    猜你喜欢
    • 2011-04-22
    • 1970-01-01
    • 2012-11-12
    • 2011-02-06
    • 2011-02-06
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多