public
Description: A thin wrapper around the Rails `flash' object to assist in redirecting the user `back' after authentication.
Homepage:
Clone URL: git://github.com/Fingertips/authentication-needed-san.git
README.rdoc

AuthenticationNeededSan

A thin wrapper around the Rails ‘flash’ object, to assist in redirecting a user ‘back’ to the page she originally requested.

For more info see the AuthenticationNeededSan class documentation.

Example

Consider an application which uses the authorization-san plugin. The ApplicationController would look something like the following:

  class ApplicationController < ActionController::Base
    # If nobody was logged in and this resource is not accessable by all,
    # request authentication. Otherwise reply that the resource is forbidden.
    def access_forbidden
      # If the user is logged in and still can't view the page, we have to tell
      # them access is forbidden.
      if !@authenticated.nil?
        send_response_document :forbidden
      else
        authentication_needed!
      end
    end

    def when_authentication_needed
      redirect_to new_session_url
    end
  end

Then from your sessions controller redirect the user back to the page she requested or the default one:

  class SessionsController < ApplicationController
    def create
      # login code...
      finish_authentication_needed! or redirect_to(root_url)
    end
  end

The authorization-san plugin is available at: github.com/Fingertips/authorization-san