X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/20ae3232cd60b91ab284a068c1d4e452fca854b6..95d9ae83abe22879e4630674e5355c9751cf9974:/app/controllers/application.rb diff --git a/app/controllers/application.rb b/app/controllers/application.rb index fd6ea7866..792792f83 100644 --- a/app/controllers/application.rb +++ b/app/controllers/application.rb @@ -7,7 +7,7 @@ class ApplicationController < ActionController::Base end def require_user - redirect_to :controller => 'user', :action => 'login' unless @user + redirect_to :controller => 'user', :action => 'login', :referer => request.request_uri unless @user end def authorize(realm='Web Password', errormessage="Couldn't authenticate you") @@ -20,7 +20,7 @@ class ApplicationController < ActionController::Base else @user = User.authenticate(username, passwd) # basic auth end - + # handle authenticate pass/fail if @user # user exists and password is correct ... horray! @@ -44,7 +44,7 @@ class ApplicationController < ActionController::Base # phrase from that, we can also put the error message into the status # message. For now, rails won't let us) def report_error(message) - render :nothing => true, :status => 400 + render :nothing => true, :status => :bad_request # Todo: some sort of escaping of problem characters in the message response.headers['Error'] = message end @@ -59,7 +59,7 @@ class ApplicationController < ActionController::Base end # only basic authentication supported if authdata and authdata[0] == 'Basic' - user, pass = Base64.decode64(authdata[1]).split(':')[0..1] + user, pass = Base64.decode64(authdata[1]).split(':',2) end return [user, pass] end