瀏覽代碼

enforce admin-only for logs API

tags/v1.1.4
Jonathan Cobb 4 年之前
父節點
當前提交
141af88b96
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. +5
    -2
      bubble-server/src/main/java/bubble/resources/cloud/NetworksResource.java

+ 5
- 2
bubble-server/src/main/java/bubble/resources/cloud/NetworksResource.java 查看文件

@@ -217,16 +217,19 @@ public class NetworksResource extends AccountOwnedResource<BubbleNetwork, Bubble
return configuration.subResource(BackupsResource.class, account, network);
}

@Path("/{id}" + EP_LOGS)
@Path("/{id}"+EP_LOGS)
@NonNull public LogsResource getLogs(@NonNull @Context final ContainerRequest ctx,
@NonNull @PathParam("id") String id) {
// caller must be admin
final Account caller = userPrincipal(ctx);
if (!caller.admin()) throw forbiddenEx();

final var network = find(ctx, id);
if (network == null) throw notFoundEx(id);

// only available for this (current) network
if (!configuration.getThisNetwork().getUuid().equals(network.getUuid())) throw forbiddenEx();

final Account caller = userPrincipal(ctx);
return configuration.subResource(LogsResource.class, caller);
}
}

Loading…
取消
儲存