- Shipped
- 15. August 2026 um 05:52 UTC
- Author
- Kamo
- Commit
- 166043b
AiModelController und AiUsageController überprüften das Eigentum der Organisation und kein Recht. Die 403s bereits im Modell-Controller vergleichen provider.getOrganizationId() mit der Session's org - echte Mieter Isolation, und eine andere Frage als, ob die Anrufer kann Modelle überhaupt verwalten. MANAGE_AI_MODELS setzt jetzt alle vier Modelle ein endpoints und VIEW_AI_USAGE verwenden beide Endpunkte. Das Modell LIST zu geben ist hier sicher, und das wurde eher überprüft als angenommen. Eins Cluster vor der gleichwertig aussehenden Mailbox-Liste stellte sich heraus, um Empfänger zu füttern Autocomplete, so gating es hätte die Adressbücher der Menschen geleert. Jeder Anrufer von /api/ai/models ist eine Einstellungskarte . SecurityModelsTab und ProviderSetupTab kein Chat oder Komponistenoberfläche liest es. Identisch vom Endpunkt, gegenüber einmal folgen dem Verbraucher. AIService's SessionHelper hatte keine hasRight, also wurde eine hinzugefügt, aus der ausfallgeschlossen erste Zeile: keine Sitzung, kein Rechte-Array oder ein Rechtewert des falschen Typs alle sich verweigern. KBService-Äquivalent gewährt alles, wenn die Liste leer war oder fehlte und stillig jedes darauf gebaute Tor behebelt, bis es repariert war; es gab keine Grund, es hier zu wiederholen. Keine Aussaat. MANAGE_AI_SETTINGS, MANAGE_AI_MODELS und VIEW_AI_USAGE werden von der gleich 14 Rollen und 33 Mitglieder. exportUsage gibt ResponseEntity<byte[]] zurück und streamt eine Datei, so dass ihre Ablehnung ist Plain Bytes statt der JSON Karte jedes andere Tor in diesem Pass kehrt zurück.