ApplicationController

Andreas Schneider wrote:

Hi all,

perhaps I am on the wrong path - because I come from the ASP world :slight_smile:

I want that my app checks on every page if my user is logged in or not.
I have 2 cookies set in my signin process - which works great.
now I want to set a global var if a user is logged in or not
I do that in the application controller

class ApplicationController < ActionController::Base

    $login_user_id = cookies[:user_id]
    $login_user_sid = cookies[:user_sid]
    if $login_user_id != ""
      $login_ok = true
    else
      $login_ok = false
    end

end

but this will not work - he cant access the cookies

error >> undefined local variable or method `cookies' for
ApplicationController:Class

what I am doing wrong?

thanks for any help in my path to escape the MS ASP world :wink:
andreas

Hey

You could write an action that just checks those cookies...

class ApplicationController < ActionController::Base

  def login_ok?
    !cookies[:user_id].blank?
  end

end

Then in some other action in say, your store_controller? use

def show_store
  if login_ok?
    render :layout => 'store'
  else
    flash[:warning] = 'not allowed there!'
    redirect_to :action => 'not_allowed'
  end
end

Or something similar, I'm not very big on cookies, but
this seems like it should work :]

Cheery-o
Gustav Paul
gustav@rails.co.za