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.
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