Skip to content

Commit c724dd5

Browse files
authored
fix for access denied in /viewer/capabilities handler (#24030)
1 parent b2be6f6 commit c724dd5

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

ydb/core/viewer/json_pipe_req.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,7 +1223,7 @@ void TViewerPipeClient::RedirectToDatabase(const TString& database) {
12231223
Become(&TViewerPipeClient::StateResolveDatabase);
12241224
}
12251225

1226-
bool TViewerPipeClient::NeedToRedirect() {
1226+
bool TViewerPipeClient::NeedToRedirect(bool checkDatabaseAuth) {
12271227
auto request = GetRequest();
12281228
if (NeedRedirect && request) {
12291229
NeedRedirect = false;
@@ -1233,7 +1233,7 @@ bool TViewerPipeClient::NeedToRedirect() {
12331233
RedirectToDatabase(Database); // to find some dynamic node and redirect query there
12341234
return true;
12351235
}
1236-
if (!Viewer->CheckAccessViewer(request)) {
1236+
if (checkDatabaseAuth && !Viewer->CheckAccessViewer(request)) {
12371237
ReplyAndPassAway(GetHTTPFORBIDDEN("text/html", "<html><body><h1>403 Forbidden</h1></body></html>"), "Access denied");
12381238
return true;
12391239
}

ydb/core/viewer/json_pipe_req.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ class TViewerPipeClient : public TActorBootstrapped<TViewerPipeClient> {
392392
STATEFN(StateResolveDatabase);
393393
STATEFN(StateResolveResource);
394394
void RedirectToDatabase(const TString& database);
395-
bool NeedToRedirect();
395+
bool NeedToRedirect(bool checkDatabaseAuth = true);
396396
void HandleTimeout();
397397
void PassAway() override;
398398
};

ydb/core/viewer/viewer_capabilities.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class TViewerCapabilities : public TViewerPipeClient {
1515
{}
1616

1717
void Bootstrap() override {
18-
if (TBase::NeedToRedirect()) {
18+
if (TBase::NeedToRedirect(false/* don't check auth for capabilities on purpose */)) {
1919
return;
2020
}
2121
ReplyAndPassAway();

0 commit comments

Comments
 (0)