2010-09-28 18 views
0

Я пытаюсь проверить в своем контроллере, имеет ли пользователь достаточные права на загрузку файлов или нет. swfupload делает запрос POST с (по документации) значениями cookie, переданными непосредственно в запрос POST. это делает before_filter :authenticate_user! непригодным для использования, пользователь не авторизован правильно.Авторизация разрешения и swfup

Насколько я знаю из разработки docs, существует возможность создания пользовательских контроллеров сеансов. это хорошая отправная точка для решения этой проблемы? любая идея, как извлечь идентификатор сеанса из POST и продолжить авторизацию?

ответ

0

У меня была аналогичная проблема с swfupload. Я использовал среднюю программу и некоторые пользовательские вспомогательные ссылки, чтобы заставить ее работать. Больше информации здесь: http://thewebfellas.com/blog/2008/12/22/flash-uploaders-rails-cookie-based-sessions-and-csrf-rack-middleware-to-the-rescue

+0

yup, thanks. это именно то, что мне нужно. просто еще один совет для других людей. Помните о позиции вашего промежуточного программного обеспечения в стеке. промежуточное программное обеспечение, представленное в ссылке выше, следует называть как можно раньше (до Warden). поэтому вместо 'config.middleware.use' лучше использовать' config.middleware.insert_before' – Michal

+0

еще один комментарий. еще проще использовать параметры POST вместо настраиваемых ссылок. если вы используете swfupload, передайте свой идентификатор сеанса в параметре 'post_params' (см. swfupload docs) и извлеките его в своем промежуточном программном обеспечении, используя' params = :: Rack :: Request.new (env) .params' – Michal

Смежные вопросы