My problem is somehow created by Rails 2.3.9. When I put 2.3.8 back, it works fine.

I did further verify that cookie contents are written upon a 302 redirect (which is what "logout" does, redirecting to "login") in general.

Not sure what happened, but be forewarned, Rails 2.3.9 breaks the built-in Radiant authentication system in that it does not successfully log you out.

Thanks,
Wes

On 9/29/10 3:08 PM, Wes Gamble wrote:
Apologies for replying to my own post.

I have verified a couple more things:

1) In general, I can write to the session from my Radiant app. without incident. Using these actions:

def modify_session
    session[:number] = rand(10000)
    render :action => :session
  end

  def show_session
    render :action => :session
  end

and this view, and comparing the actual session _data_ cookie, I can see that the session data changes.

%p
  Welcome, user!
%p
  Your session information is as follows:
%p
  Session:
  = session.inspect
%p
  Cookies:
  = cookies.inspect

2) When I log out and log back in, I can verify that the session data does not change, because the session _data_ cookie is identical right before the logout method ends and right as the login method begins (and the logout method removes the user_id from the session).

My next theory is that my use of ActiveScaffold (for easily displaying some custom administrative data) is interfering with the logout process somehow.

W

On 9/28/10 6:05 PM, Wes Gamble wrote:
Rails 2.3.9
Radiant 0.9.1

I noticed recently that admin users in my Radiant app. can no longer logout successfully - upon logout, they are taken back to the /admin/pages (default admin) page.

I've been debugging this locally and checking out what happens between the calls to Admin::WelcomeController#logout and Admin::WelcomeController#login and as best I can tell, everything looks correct, but the session cookie doesn't get modified (the 'user_id' key does not get set to nil; I even _removed_ the 'user_id' key in the "logout" action and the next request still had the old 'user_id' value in the session).

It happens in Chrome, Firefox, and Safari.

I know this is one of those things that no one will be able to help with, but on the off chance that anyone has seen weird cookie-not-being-written behavior with Radiant 0.9.1/Rails 2.3.9, please let me know.

Thanks,
Wes

Reply via email to