Here is a great screencast that explains, step-by-step, how to use authlogic in your rails project.
Once authlogic is set up, define the following useful authentication-related helper methods in your Application Controller.
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
def require_user
unless current_user
store_location
flash[:notice] = "You must be logged in to access this page"
redirect_to new_user_session_url
return false
end
end
def require_no_user
if current_user
store_location
flash[:notice] = "You must be logged out to access this page"
redirect_to root_url
return false
end
end
Once those methods are defined, you can specify actions that require the user to be logged in:
before_filter :require_user, :only => [:new, :edit]