Tomcat" request.env [' REMOTE_USER']"是空的

时间:2015-08-06 21:41:03

标签: ruby-on-rails tomcat ldap jruby

我使用Jruby和warbler在Tomcat中部署我的ROR应用程序。我试图在我的应用程序控制器中使用set_user方法获取访问我的应用程序的人的用户名。

我的应用程序控制器如下所示:

class ApplicationController < ActionController::Base
 # Prevent CSRF attacks by raising an exception.
 # For APIs, you may want to use :null_session instead.
 protect_from_forgery with: :null_session
 before_filter :set_user

 after_filter :set_csrf_cookie_for_ng

 def set_csrf_cookie_for_ng
   cookies['XSRF-TOKEN'] = form_authenticity_token if  protect_against_forgery?
 end


  def set_user
     puts "ENV is :#{Rails.env}"
     @cco_id = request.env["REMOTE_USER"]
     #puts "request.env['REMOTE_USER']: #{request.env['REMOTE_USER'].to_s}"

      puts "request headers: #{request.env}"

      raise "No valid request.env['REMOTE_USER']" if request.env["REMOTE_USER"].nil? 

  end



   protected
     def verified_request?
      super || form_authenticity_token == request.headers['X-XSRF-TOKEN']
     end

end

我试图打印REMOTE_USER,它返回空了。我打印了整个请求,它将REMOTE_USER返回为空。

request headers: {"org.apache.catalina.AccessLog.ServerPort"=>8080,  "org.apache.catalina.AccessLog.RemoteAddr"=>"173.37.246.69", "org.apache.catalina.AccessLog.RemoteHost"=>"173.37.246.69",  "org.apache.catalina.AccessLog.Protocol"=>"HTTP/1.0", "jruby.rack.dynamic.requests.only"=>true,  "org.apache.tomcat.remoteAddr"=>"173.37.246.69", "rack.version"=>[1, 3], "rack.input"=>#<JRuby::Rack::Input:0x5843df7e>, "rack.errors"=>#<JRuby::Rack::ServletLog:0x5005f677 @context=#<Java::OrgJrubyRackServlet::DefaultServletRackContext:0x60e025d8>>, "rack.url_scheme"=>"http", "rack.multithread"=>true, "rack.multiprocess"=>false, "rack.run_once"=>false, "java.servlet_request"=>#<Java::OrgApacheCatalinaConnector::RequestFacade:0x65f32ede>, "java.servlet_response"=>#<Java::OrgApacheCatalinaConnector::ResponseFacade:0x5c5a90ad>, "java.servlet_context"=>#<Java::OrgApacheCatalinaCore::ApplicationContextFacade:0x408a251c>, "jruby.rack.version"=>"1.1.19", "jruby.rack.jruby.version"=>"1.7.21", "jruby.rack.rack.release"=>"1.6.4", "PATH_INFO"=>"/", "QUERY_STRING"=>"", "REMOTE_ADDR"=>"173.37.246.69", "REMOTE_HOST"=>"173.37.246.69", "REMOTE_USER"=>"", "REQUEST_METHOD"=>"GET", "REQUEST_URI"=>"/", "SCRIPT_NAME"=>"", "SERVER_NAME"=>"localhost", "SERVER_PORT"=>"8080", "SERVER_SOFTWARE"=>"Apache Tomcat/7.0.54", "ORIGINAL_FULLPATH"=>"/", "ORIGINAL_SCRIPT_NAME"=>"", "action_dispatch.routes"=>#<ActionDispatch::Routing::RouteSet:0x5dc7bae7>, "action_dispatch.parameter_filter"=>[:password], "action_dispatch.redirect_filter"=>[], "action_dispatch.secret_token"=>nil, "action_dispatch.secret_key_base"=>"7cb19e3319007dd53ab0ad5c3fa102c67dfad98799dfe5d48f89bb151cb0613c76bdd7080cb7c324d266fab45836c6a50ee6b989f74c4de700609312bb938751", "action_dispatch.show_exceptions"=>true, "action_dispatch.show_detailed_exceptions"=>true, "action_dispatch.logger"=>#<Logger:0x42cf35ef @logdev=#<Logger::LogDevice:0x31de002d @filename=nil, @shift_age=nil, @dev=#<IO:fd 1>, @mutex=#<Logger::LogDevice::LogDeviceMutex:0x65dda3ee @mon_count=0, @mon_mutex=#<Mutex:0x1c0a906c>, @mon_owner=nil>, @shift_size=nil>, @formatter=nil, @progname=nil, @default_formatter=#<Logger::Formatter:0x798fb0d5 @datetime_format=nil>, @level=0>, "action_dispatch.backtrace_cleaner"=># <Rails::BacktraceCleaner:0x6e0a99a9 @root="/var/lib/openshift/csgmentoringtool-8mvs3w4iprd-1/app-root/runtime/dependencies/jbossews/webapps/ROOT/WEB-INF/", @silencers=[#<Proc:0x108a71b3@/var/lib/openshift/csgmentoringtool-8mvs3w4iprd-  1/jbossews/webapps/ROOT/WEB-INF/gems/gems/railties-4.2.3/lib/rails/backtrace_cleaner.rb:19>], @filters=[#<Proc:0x2de694cd@/var/lib/openshift/csgmentoringtool-8mvs3w4iprd-1/jbossews/webapps/ROOT/WEB-INF/gems/gems/railties-4.2.3/lib/rails/backtrace_cleaner.rb:14>, #<Proc:0x7d333645@/var/lib/openshift/csgmentoringtool-8mvs3w4iprd-1/jbossews/webapps/ROOT/WEB-INF/gems/gems/railties-4.2.3/lib/rails/backtrace_cleaner.rb:15>, #<Proc:0x35a7ab03@/var/lib/openshift/csgmentoringtool-8mvs3w4iprd-1/jbossews/webapps/ROOT/WEB-INF/gems/gems/railties-4.2.3/lib/rails/backtrace_cleaner.rb:16>, #<Proc:0x12cc6d7a@/var/lib/openshift/csgmentoringtool-8mvs3w4iprd-1/jbossews/webapps/ROOT/WEB-INF/gems/gems/railties-4.2.3/lib/rails/backtrace_cleaner.rb:29>]>, "action_dispatch.key_generator"=>#<ActiveSupport::CachingKeyGenerator:0x696810f0 @cache_keys=#<ThreadSafe::Cache:0x2f3032a0 @default_proc=nil>, @key_generator=#<ActiveSupport::KeyGenerator:0x54bbe94 @iterations=1000, @secret="7cb19e3319007dd53ab0ad5c3fa102c67dfad98799dfe5d48f89bb151cb0613c76bdd7080cb7c324d266fab45836c6a50ee6b989f74c4de700609312bb938751">>, "action_dispatch.http_auth_salt"=>"http authentication", "action_dispatch.signed_cookie_salt"=>"signed cookie", "action_dispatch.encrypted_cookie_salt"=>"encrypted cookie", "action_dispatch.encrypted_signed_cookie_salt"=>"signed encrypted cookie", "action_dispatch.cookies_serializer"=>:json, "action_dispatch.cookies_digest"=>nil, "ROUTES_5896_SCRIPT_NAME"=>"", "action_dispatch.request_id"=>"d5b5efb6-52b0-40ef-a746-16516eaeaf07", "action_dispatch.remote_ip"=>#<ActionDispatch::RemoteIp::GetIp:0x377827ac @env={...}, @check_ip=tru

0 个答案:

没有答案