Sha256: 6a14eb7697e1aa02a21ebe721c272660d13bbe4bc258e4971cd5089092d9d7dd
Contents?: true
Size: 1.72 KB
Versions: 3
Compression:
Stored size: 1.72 KB
Contents
module CmpaAuth # # Implementa a autenticação através de um before_filter. # Todo o controle é realizado através de dois ids armazenados na # sessão: current_user_id e lotacao_temporaria_id. # # O módulo também oferece suporte a algumas facilidades, como perguntar # se o usuário está logado. # module RailsHelpers def self.included(receiver) #:nodoc: receiver.class_eval do before_filter :cmpa_authenticate helper_method :current_user, :current_lotacao, :logged_in? rescue_from CmpaAuth::AccessDenied, :with => lambda { render_403 } # # Renderiza uma mensagem de erro HTML to tipo 403 (proibido) nos casos # em que a exceção CmpaAuth::AccessDenied for disparada. # def render_403 render :template => "rescues/403", :status => 403, :layout => false end private def cmpa_authenticate redirect_to new_session_url unless logged_in? end # # Retorna o usuário logado na sessão. # def current_user @current_user ||= ::Pessoa.find_by_id(session[:current_user_id]) end # # Retorna a lotação temporária atual (aquela que o usuário escolheu ao # logar no sistema). # def current_lotacao @current_lotacao ||= ::LotacaoTemporaria.find_by_id(session[:lotacao_temporaria_id]) end # Verifica se o usuário está logado. def logged_in? current_user && current_lotacao end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cmpa_auth-1.0.6 | lib/cmpa_auth/rails_helpers.rb |
cmpa_auth-1.0.5 | lib/cmpa_auth/rails_helpers.rb |
cmpa_auth-1.0.4 | lib/cmpa_auth/rails_helpers.rb |