@@ -96,10 +96,14 @@ delete_resource(ReqData, Context = #context{user = #user{username = ActingUser}}
96
96
end .
97
97
98
98
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 .
103
107
104
108
% %--------------------------------------------------------------------
105
109
@@ -131,3 +135,9 @@ queue(VHost, QName) ->
131
135
{ok , Q } -> rabbit_mgmt_format :queue (Q );
132
136
{error , not_found } -> not_found
133
137
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