X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/2a7f689f1fdc4e24717a91ece1894e1401cae670..ef40b61ff40881966ae4280cfdcb9f92965e9d10:/app/controllers/application_controller.rb?ds=sidebyside diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 6dbe9165c..bcaed4565 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -39,6 +39,19 @@ class ApplicationController < ActionController::Base end end + ## + # require the user to have cookies enabled in their browser + def require_cookies + if request.cookies["_osm_session"].to_s == "" + if params[:cookie_test].nil? + redirect_to params.merge(:cookie_test => "true") + return false + else + @notice = t 'application.require_cookies.cookies_needed' + end + end + end + # Utility methods to make the controller filter methods easier to read and write. def require_allow_read_prefs require_capability(:allow_read_prefs) @@ -78,6 +91,12 @@ class ApplicationController < ActionController::Base @user = User.authenticate(:username => username, :password => passwd) # basic auth end end + + # check if the user has been banned + unless @user.nil? or @user.active_blocks.empty? + # NOTE: need slightly more helpful message than this. + render :text => t('application.setup_user_auth.blocked'), :status => :forbidden + end end def authorize(realm='Web Password', errormessage="Couldn't authenticate you")