Использование DataMapper в качестве хранилища сессий Padrino - PullRequest
1 голос
/ 24 апреля 2011

Мне удалось заставить 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, чтобы не включать сессии.

Вот код моего приложения:

/ администратор / app.rb:

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

/ приложение / app.rb:

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

/ Библиотека / omniauth_init.rb:

use Rack::Session::DataMapper

Вопрос: есть ли более приятный способ подружиться с пользовательским магазином сессионной стойки с Omniauth? Мне не удобно использовать Rack::Session::DataMapper три раза.

1 Ответ

0 голосов
/ 28 февраля 2012

Поздний ответ, но я верю, если вы поставите:

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

в вашем "config / boot.rb" все будет в порядке, и вам не понадобятся дубликаты.

...