UI: a role denied one non-essential bootstrap API (e.g. listLdapConfigurations) fails to load the entire console
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 85/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- javascript
- Bereich
- frontend
Rechercherichtung
Beginne in ui/src/store/modules/user.js bei GetInfo, insbesondere bei listLdapConfigurations und den toleranten Handlern listNetworkServiceProviders/listGuiThemes. Überprüfe ui/src/permission.js, um den Fehlerpfad der Routensicherung zu verstehen. Die Änderung ist abgeschlossen, wenn ein verweigerter, nicht essenzieller Bootstrap-Lesevorgang sein Flag standardmäßig setzt, ohne GetInfo abzulehnen, sodass die Konsole geladen wird, statt zu /user/login umzuleiten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
problem
The web console fails to load entirely for any role denied one non-essential bootstrap read. GetInfo runs several independent calls under a single shared Promise and wires several to the same reject, including listLdapConfigurations, which only sets a flag. When a role denies it the 432 rejects the shared promise before listApis can resolve it (a race the small query usually wins), so GetInfo rejects and the router guard logs the user out instead of building routes. The tolerant pattern sits right beside it: listNetworkServiceProviders swallows its own error and the console still loads (listGuiThemes likewise).
Expected: a denied non-essential read degrades like listNetworkServiceProviders/listGuiThemes. Actual: blank console, redirect to /user/login.
versions
4.22 and current main. Client-side UI only; hypervisor/storage/network irrelevant.
The steps to reproduce the bug
- Create a custom role (e.g. from the DomainAdmin base type) that denies
listLdapConfigurations. - Assign an account to it.
- Log in to the web UI — the console never renders and you are redirected to login.
What to do about it?
Give listLdapConfigurations (and any non-essential bootstrap read) its own .catch that defaults the flag, as listNetworkServiceProviders already does. The underlying hazard is the shared resolve/reject across independent calls in GetInfo; reserve reject for genuinely essential calls such as listApis.
- Vorherrschende Sprache
- Java
- Sterne
- 3.1k
- Forks
- 1.4k
- Ø Merge
- 6 T. 3 Std.
- Gemergte PRs (30 T.)
- 16
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/cloudstack
-
listPublicIpAddresses NullPointerException on shared networks with a VR (4.22)Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
apache/cloudstack#14248 ·
Maintainer antworten meist innerhalb von 1 Tag
-
CKS: upgradeKubernetesCluster fails on control node when binaries ISO ships headlamp.yaml instead of dashboard.yamlEvtl. vergeben @mw-0 hat das vor 10 Tagen übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
apache/cloudstack#14244 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Resize volume API validation errors are not displayed in the UIEvtl. vergeben @sathvikaragi hat das vor 12 Tagen übernommen. Offenbug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
apache/cloudstack#14222 ·
Maintainer antworten meist innerhalb von 1 Tag
-
create-kubernetes-binaries-iso.sh builds the ISO without setting a volume ID on EL8 based os'sOffenbug component:kubernetes
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
apache/cloudstack#14180 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug component:projects component:UI
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
apache/cloudstack#14070 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in apache/cloudstack
Ähnliche Issues
-
Clarify Javadoc for Logger methods taking Object... arguments with regards to Throwable detectionOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
[Bug] The shared instance selector's placeholder and no-match text ignore the display languageEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 90/100
apache/rocketmq-dashboard#5561 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
HMCL-dev/HMCL#6934 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
test(setup): GitHub configuration tests fail when the temp path is long enough for YAML foldingOffenbug good first issue help wanted priority medium size S
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
martin-francois/symphony-trello#776 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag