Rework the default denied access handler to give different responses to tokens, logged in users and other users

This commit is contained in:
Andy Allan 2018-10-24 09:39:02 +02:00
parent ce761b3193
commit a50ad1c895
2 changed files with 8 additions and 2 deletions

View file

@ -477,11 +477,16 @@ class ApplicationController < ActionController::Base
end
def deny_access(_exception)
if current_user
if current_token
set_locale
report_error t("oauth.permissions.missing"), :forbidden
elsif current_user
set_locale
report_error t("application.permission_denied"), :forbidden
elsif request.get?
redirect_to :controller => "users", :action => "login", :referer => request.fullpath
else
require_user
head :forbidden
end
end

View file

@ -1793,6 +1793,7 @@ en:
other: "GPX file with %{count} points from %{user}"
description_without_count: "GPX file from %{user}"
application:
permission_denied: You do not have permission to access that action
require_cookies:
cookies_needed: "You appear to have cookies disabled - please enable cookies in your browser before continuing."
require_admin: