Sinatra enable: сессии не работают на пассажирах / apache - PullRequest
4 голосов
/ 20 января 2010

У меня проблемы с получением разрешения: сеансы сохраняются для простого приложения Sinatra, размещенного на пассажире / apache. Я сохраняю состояние сессии [: авторизовано] в куки. Он работает локально, когда размещен на Rack :: Handler :: Mongrel, но я не могу получить такое же поведение на пассажире.

Я пробовал два метода для включения сеансов, оба из которых не работают при установке пассажира / apache включить: сеансы

и

используйте Rack :: Session :: Pool,: domain => 'example.com',: expire_after => 60 * 60 * 24 * 365

Есть идеи как починить?

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Эта проблема возникла у меня, потому что я включил сеансы в неправильной области конфигурации. Моя конфигурация выглядела так:

configure :development do
  # ... other settings ...
  enable  :sessions
end

Переместив enable :sessions из :development определенных сессий конфигурации, у меня заработало:

configure :development do
  # ... other settings ...
end

enable  :sessions
1 голос
/ 13 февраля 2010

Мы столкнулись с чем-то похожим, хотя мы не использовали Apache / Passenger (в режиме разработки). Мы решили это так -

Закомментируйте команды Rack :: Session из вашего приложения Sinatra. Сделайте это в файле config.ru. и активируют только: сеансы в приложении sinatra.

Это должно сработать.

...