Skip to content

Commit a96948c

Browse files
Finalize a follow-up to #9550
1 parent 35381ce commit a96948c

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,14 @@ delete_resource(ReqData, Context = #context{user = #user{username = ActingUser}}
9696
end.
9797

9898
is_authorized(ReqData, Context) ->
99-
VHost = rabbit_mgmt_util:id(vhost, ReqData),
100-
QName = rabbit_mgmt_util:id(queue, ReqData),
101-
QRes = rabbit_misc:r(VHost, queue, QName),
102-
rabbit_mgmt_util:is_authorized_vhost_and_has_resource_permission(ReqData, Context, QRes, configure).
99+
case cowboy_req:method(ReqData) of
100+
<<"DELETE">> ->
101+
has_resource_permissions(configure, ReqData, Context);
102+
<<"PUT">> ->
103+
has_resource_permissions(configure, ReqData, Context);
104+
_ ->
105+
{true, ReqData, Context}
106+
end.
103107

104108
%%--------------------------------------------------------------------
105109

@@ -131,3 +135,9 @@ queue(VHost, QName) ->
131135
{ok, Q} -> rabbit_mgmt_format:queue(Q);
132136
{error, not_found} -> not_found
133137
end.
138+
139+
has_resource_permissions(Permission, ReqData, Context) ->
140+
VHost = rabbit_mgmt_util:id(vhost, ReqData),
141+
QName = rabbit_mgmt_util:id(queue, ReqData),
142+
QRes = rabbit_misc:r(VHost, queue, QName),
143+
rabbit_mgmt_util:is_authorized_vhost_and_has_resource_permission(ReqData, Context, QRes, Permission).

0 commit comments

Comments
 (0)