Skip to content

Commit

Permalink
Finalize a follow-up to #9550
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelklishin committed Dec 20, 2023
1 parent 35381ce commit 29951f6
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,14 @@ delete_resource(ReqData, Context = #context{user = #user{username = ActingUser}}
end.

is_authorized(ReqData, Context) ->
VHost = rabbit_mgmt_util:id(vhost, ReqData),
QName = rabbit_mgmt_util:id(queue, ReqData),
QRes = rabbit_misc:r(VHost, queue, QName),
rabbit_mgmt_util:is_authorized_vhost_and_has_resource_permission(ReqData, Context, QRes, configure).
case cowboy_req:method(ReqData) of
<<"DELETE">> ->
has_resource_permissions(configure, ReqData, Context);
<<"PUT">> ->
has_resource_permissions(configure, ReqData, Context);
_ ->
rabbit_mgmt_util:is_authorized_vhost(ReqData, Context)
end.

%%--------------------------------------------------------------------

Expand Down Expand Up @@ -131,3 +135,9 @@ queue(VHost, QName) ->
{ok, Q} -> rabbit_mgmt_format:queue(Q);
{error, not_found} -> not_found
end.

has_resource_permissions(Permission, ReqData, Context) ->
VHost = rabbit_mgmt_util:id(vhost, ReqData),
QName = rabbit_mgmt_util:id(queue, ReqData),
QRes = rabbit_misc:r(VHost, queue, QName),
rabbit_mgmt_util:is_authorized_vhost_and_has_resource_permission(ReqData, Context, QRes, Permission).

0 comments on commit 29951f6

Please sign in to comment.