diff options
author | francis <francis> | 2008-06-10 15:12:02 +0000 |
---|---|---|
committer | francis <francis> | 2008-06-10 15:12:02 +0000 |
commit | 97db761f0d93f84f89fa4e6fa53f3c2b7806bd98 (patch) | |
tree | cf04a75b662f74bed528711a63614489f25d0627 /app/controllers/application.rb | |
parent | fe1f1f98a677ca3642d17c55c64246adce2ac1c4 (diff) |
Get admin user name working
Diffstat (limited to 'app/controllers/application.rb')
-rw-r--r-- | app/controllers/application.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/app/controllers/application.rb b/app/controllers/application.rb index 7935cc461..dd762480c 100644 --- a/app/controllers/application.rb +++ b/app/controllers/application.rb @@ -6,7 +6,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: application.rb,v 1.47 2008-05-21 23:36:52 francis Exp $ +# $Id: application.rb,v 1.48 2008-06-10 15:12:02 francis Exp $ class ApplicationController < ActionController::Base @@ -125,10 +125,15 @@ class ApplicationController < ActionController::Base # For administration interface, return display name of authenticated user def admin_http_auth_user - if not request.env["REMOTE_USER"] - return "*unknown*"; - else + # This needs special magic in mongrel: http://www.ruby-forum.com/topic/83067 + # Hence the second clause which reads X-Forwarded-User header if available. + # See the rewrite rules in conf/httpd.conf which set X-Forwarded-User + if request.env["REMOTE_USER"] return request.env["REMOTE_USER"] + elsif request.env["HTTP_X_FORWARDED_USER"] + return request.env["HTTP_X_FORWARDED_USER"] + else + return "*unknown*"; end end def assign_http_auth_user |