diff --git a/pkg/registry/apis/dashboard/register.go b/pkg/registry/apis/dashboard/register.go index cfec57b7f41..54e0df09431 100644 --- a/pkg/registry/apis/dashboard/register.go +++ b/pkg/registry/apis/dashboard/register.go @@ -675,8 +675,20 @@ func (b *DashboardsAPIBuilder) GetAuthorizer() authorizer.Authorizer { } func (b *DashboardsAPIBuilder) verifyFolderAccessPermissions(ctx context.Context, user identity.Requester, folderIds ...string) error { + folderClient := b.folderClient + orgID := user.GetOrgID() + + if b.folderClient == nil && b.folderClientProvider != nil { + ns, err := request.NamespaceInfoFrom(ctx, false) + if err != nil { + return err + } + folderClient = b.folderClientProvider.GetOrCreateHandler(ns.Value) + orgID = ns.OrgID + } + for _, folderId := range folderIds { - resp, err := b.folderClient.Get(ctx, folderId, user.GetOrgID(), metav1.GetOptions{}, "access") + resp, err := folderClient.Get(ctx, folderId, orgID, metav1.GetOptions{}, "access") if err != nil { return dashboards.ErrFolderAccessDenied }