Forum: Ruby on Rails Rails3 pre and protect_from_forgery

Posted by bshelton229 (Guest)
on 2010-02-09 09:57
(Received via mailing list)
I've almost entirely converted a rails 2.3.5 app to 3pre. I'm having
some trouble with protect_from_forgery. I had protect_from_forgery set
in application_controller.rb, but run some uploadify ajax stuff in one
of my controllers, where I had protect_from_forgery, :except
=> :add_file set.

In rails 3 I'm getting ActionController::InvalidAuthenticityToken on
the ajax upload unless I turn off protect_from_forgery completely in
application_controller.rb. Seems like the exception in my FileUpload
controller (protect_from_forgery :except => :add_file) isn't taking.

Has anyone else experienced this. Should I report a bug or am I doing
something wrong?

Thanks in advance,
Bryan
Posted by Jeremy Kemper (Guest)
on 2010-02-09 18:16
(Received via mailing list)
Hey Bryan, please do report a bug on Lighthouse. Let's get that fixed
up for the next beta.

Thanks!
jeremy

On Mon, Feb 8, 2010 at 7:24 PM, bshelton229
Posted by Patrick Berkeley (berkelep)
on 2010-04-09 22:49
(Received via mailing list)
I'm experiencing the same issue when implementing Uploadify into a
Rails 3.0.0.beta2 application. A comment and a question:

1) You shouldn't need to disable protect_from_forgery for uploads if
you pass your session data to Uploadify, then back to Rails when you
do the upload. But for the time being, disabling protect_from_forgery
is the only way I've been able to get Uploadify to work too.

2) In order to insert middleware in Rails 3, add the following to
config/application.rb:

config.middleware.insert_before(ActionDispatch::Session::CookieStore,
FlashSessionCookieMiddleware, ActionController::Base.session[:key])

However, ActionController::Base.session[:key] is no longer where
session information is stored. I've tried accessing it with it with
Rails.application.config.session_store[:key], looked through the
source and docs.

How do you access the session data in Rails 3?

Thanks, Patrick

On Feb 8, 11:24 pm, bshelton229 <br...@sheltonopensolutions.com>
Posted by Tom Williams (Guest)
on 2010-05-18 18:45
(Received via mailing list)
Chaps,
Does anyone know if a bug got filed for this issue?

Regards,
Tom
Posted by Patrick Berkeley (berkelep)
on 2010-05-18 19:54
(Received via mailing list)
No idea, sorry. Think I just ended up hacking the session key with a
global variable.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.