Gesamtprojekt: Nachtrag 43 -- SHL-02 Portal-Katalog-Erweiterung mit echten Rechten gemergt
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
925f8d6214
commit
f3a064a44c
1 file changed
+20
@@ -1098,3 +1098,23 @@ Migrationskollision `workflow/migrations/tenant/0004` (drei verschiedene Migrati
|
||||
- Core-Admin: `core.tenant.read`, `core.tenant.admin`
|
||||
|
||||
(Echte Durchsetzung real nur für Mail (`mail.message.read`) und Connect (`connect.status.read`) getestet.)
|
||||
|
||||
## Nachtrag 43 — SHL-02: Portal-Katalog-Erweiterung (echte Rechte)
|
||||
|
||||
Datum: 2026-09-26. Merge von PR #214 (`feature/shl-02-portal-katalog-erweiterung`) nach `main`.
|
||||
|
||||
**Ausgangslage:** Erster Versuch, den Portal-Katalog (`web/portal/config/modules.json`) auf über 20 Apps zu erweitern, wurde zu Recht abgebrochen — die 6 bestehenden Einträge nutzten erfundene `permission`-Werte, die real nirgends in Core's `policy_rules`-Katalog existierten. RBAC-12 (PR #213, Nachtrag 42) hat das behoben: 28 echte, granulare Rechte für Mail/Workflow/AI/Connect/Core-Admin angelegt (DMS hatte schon echte Rechte). Dieser Merge zieht die Portal-Erweiterung mit den jetzt echten Schlüsseln nach.
|
||||
|
||||
**Ergebnis:** Katalog von 6 auf 12 Einträge erweitert, ausschließlich mit real existierenden `policy_rules`-Schlüsseln. Neun Apps bewusst ausgelassen (kein passendes reales Recht vorhanden, nicht erfunden): `account`, `audit-log`, `compliance-reports`, `dms2-import`, `kennzahlen-dashboard`, `lic-admin`, `notifications`, `retention-admin`, `status-page`. Neuer Test (`web/portal/lib/modules.test.ts`) prüft jeden Katalog-Eintrag gegen die reale Rechte-Liste, damit kein erfundener Schlüssel mehr unbemerkt durchrutscht.
|
||||
|
||||
**Offener, ehrlich dokumentierter Vorbehalt (aus RBAC-12 übernommen):** echte Durchsetzung existiert bisher nur für `mail.message.read` und `connect.status.read`. Die Workflow-, AI- und Core-Admin-Kacheln sind technisch für jeden mit irgendeinem gültigen Recht sichtbar, bis die Durchsetzung dort nachgezogen wird (separates, noch offenes Nachfolgewerk).
|
||||
|
||||
**Verifikation (Host 204, frischer Klon `/root/merge-shl02`):**
|
||||
- `go build`/`go vet` (Core-Modul): sauber
|
||||
- `web/portal`: 12/12 Vitest PASS, `tsc --noEmit` sauber (nach dem etablierten `@nexarch/shl`-Symlink→Kopie-Fix), `next build` erfolgreich
|
||||
- `check-port-defaults.sh`: PASS
|
||||
- `e2e-core-dms.sh`: PASS (`TestCoreE2E_TokenJWKSAndPolicy`, 10/10 Unterfälle)
|
||||
- `gesamt-token-smoke.sh`: **45/45 bestanden, GESAMT-FEHLER=0**, Rückbau-Snapshot identisch
|
||||
- `migrations-fresh-check.sh`: an bekannter, vorbestehender `TEST_TENANT_DSN_B`-Umgebungslücke abgebrochen (keine Regression durch diesen Merge)
|
||||
|
||||
**Neuer main-Head:** `925f8d6214adbc4d53b3cc2e300d75df7dfb9d54` (vorher `89a1c62b8bcb0cd81e6e57780e13414cd6c480df`). Kein Deploy — Rollout auf 131 bleibt separat.
|
||||
Reference in new issue
Block a user