module Reactor::SessionHelper::AuthHelper
Public Class Methods
included(base)
click to toggle source
# File lib/reactor/session_helper.rb, line 25 def self.included(base) base.__send__(:before_filter, :rsession_auth) end
Public Instance Methods
rsession_auth()
click to toggle source
# File lib/reactor/session_helper.rb, line 4 def rsession_auth if RailsConnector::Configuration.mode == :editor && (jsessionid = cookies['JSESSIONID']).present? # Why the gsub? It's a dirty hack! Reason: JSESSIONIDs are unescaped # when read through Rails and hence all + are converted into spaces. # CM Kernel though stores escaped IDs. # From the possible generated characters only the + seems to be # problematic. # CGI.escape would be the solution, but it's deprecated # URI.escape does too much jsessionid.gsub!(' ','+') Rails.logger.info "Trying to log in at #{Reactor::Configuration.xml_access[:host]}:#{Reactor::Configuration.xml_access[:port]} with JSESSIONID=#{jsessionid}." rsession.login(jsessionid) if rsession.user? Rails.logger.info %|Logged in as "#{rsession.user_name}".| end else rsession.destroy end end