mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 13:51:09 +08:00
This reverts commit 492226a9737fc6c8d672383316569b7d2c523a55.
This commit is contained in:
@ -32,8 +32,8 @@ Discourse::Application.routes.draw do
|
|||||||
mount Logster::Web => "/logs"
|
mount Logster::Web => "/logs"
|
||||||
else
|
else
|
||||||
# only allow sidekiq in master site
|
# only allow sidekiq in master site
|
||||||
mount Sidekiq::Web => "/sidekiq", constraints: AdminConstraint.new(require_master: true, context: "sidekiq")
|
mount Sidekiq::Web => "/sidekiq", constraints: AdminConstraint.new(require_master: true)
|
||||||
mount Logster::Web => "/logs", constraints: AdminConstraint.new(context: "logster")
|
mount Logster::Web => "/logs", constraints: AdminConstraint.new
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -4,16 +4,12 @@ class AdminConstraint
|
|||||||
|
|
||||||
def initialize(options = {})
|
def initialize(options = {})
|
||||||
@require_master = options[:require_master]
|
@require_master = options[:require_master]
|
||||||
# @context isn't used here, but it exists to give plugins extra context
|
|
||||||
# about the destination of the request.
|
|
||||||
# possible values are: sidekiq, logster and app (default).
|
|
||||||
@context = options[:context] || "app"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def matches?(request)
|
def matches?(request)
|
||||||
return false if @require_master && RailsMultisite::ConnectionManagement.current_db != "default"
|
return false if @require_master && RailsMultisite::ConnectionManagement.current_db != "default"
|
||||||
@current_user = CurrentUser.lookup_from_env(request.env)
|
current_user = CurrentUser.lookup_from_env(request.env)
|
||||||
@current_user&.admin? && custom_admin_check(request)
|
current_user&.admin? && custom_admin_check(request)
|
||||||
rescue Discourse::InvalidAccess, Discourse::ReadOnly
|
rescue Discourse::InvalidAccess, Discourse::ReadOnly
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user