From 96a90e4de1fcba8620bf6651c073ce25810e582f Mon Sep 17 00:00:00 2001 From: root Date: Sat, 22 Aug 2026 00:20:53 +0000 Subject: [PATCH] =?UTF-8?q?audit(ui):=20compl=C3=A9ter=20les=20tests=20RBA?= =?UTF-8?q?C=20multi-roles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ui-audit/BUGS.md | 14 ++++++++++++++ docs/ui-audit/CREATED_TEST_DATA.md | 11 +++++++++++ docs/ui-audit/PROGRESS.md | 4 +++- docs/ui-audit/REPORT.md | 2 ++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/ui-audit/BUGS.md b/docs/ui-audit/BUGS.md index e7e1aa7..4f8047a 100644 --- a/docs/ui-audit/BUGS.md +++ b/docs/ui-audit/BUGS.md @@ -103,3 +103,17 @@ - Attendu : liste documentaire ou redirection vers le module documentaire réellement utilisé. - Impact : lien cassé pour un utilisateur qui cherche les documents. + +## UI-012 — Menu non filtré selon les permissions + +- Priorité : P1 +- Comptes : `TEST_UI_USER_MULTI` et `TEST_UI_USER_NONE`. +- Résultat : les deux dashboards contiennent les mêmes liens équipements, + interventions et nettoyage, y compris pour `TEST_UI_USER_NONE` sans rôle. +- Backend : `TEST_UI_USER_NONE` reçoit bien 403 sur ces URLs ; le backend est + donc plus strict que le menu. +- Résultat multi-rôles : `TEST_UI_USER_MULTI` reçoit 200 sur patrimoine et + interventions, puis 403 patrimoine après un refus individuel, tandis que + les interventions restent accessibles. +- Impact : UX trompeuse et risque d'erreurs ; un utilisateur voit des liens + qu'il ne peut pas ouvrir. diff --git a/docs/ui-audit/CREATED_TEST_DATA.md b/docs/ui-audit/CREATED_TEST_DATA.md index 2b7b35d..7c251c0 100644 --- a/docs/ui-audit/CREATED_TEST_DATA.md +++ b/docs/ui-audit/CREATED_TEST_DATA.md @@ -33,6 +33,17 @@ laissés pour inspection manuelle. - `TEST_UI_COMPANY_MAINTENANCE`. +## Rôles et utilisateurs RBAC + +- rôle ID 9 : `TEST_UI_ROLE_PATRIMOINE` — `patrimoine.view` ; +- rôle ID 10 : `TEST_UI_ROLE_INTERVENTION` — `intervention.view`, + `intervention.create` ; +- utilisateur ID 3 : `TEST_UI_USER_MULTI` — rôles 9 et 10, puis refus + individuel de `patrimoine.view` ; +- utilisateur ID 4 : `TEST_UI_USER_NONE` — aucun rôle. + +Mot de passe commun temporaire des comptes de test : non documenté dans Git. + ## Non créés La création des salles a été bloquée par UI-003. Aucun équipement, diff --git a/docs/ui-audit/PROGRESS.md b/docs/ui-audit/PROGRESS.md index f9d834a..78884e9 100644 --- a/docs/ui-audit/PROGRESS.md +++ b/docs/ui-audit/PROGRESS.md @@ -13,7 +13,7 @@ terminé. |---|---|---| | Santé, connexion, version | Terminé | Version 0.1.0-dev.2, commit unknown | | Menu et smoke test | Partiel | Pages principales testées séquentiellement | -| RBAC | Partiel | Catalogue et accès anonymes vérifiés | +| RBAC | Partiel avancé | multi-rôles, retrait/deny et accès directs testés ; menu non filtré | | Établissement | Partiel | Sites, bâtiments et zones créés ; confusion site/bâtiment | | Salles | Bloqué | Select bâtiment vide sur `/equipments/rooms/new` | | Équipements | Non commencé | Dépend des salles | @@ -50,6 +50,8 @@ terminé. - Smoke complémentaire : scheduled, meters, consumables, admin-tasks, rules, formations personnelles, prévention, lifecycle, à jeter, anciens, services et types de salles répondent 200 ; `/documents/` répond 404. +- Création RBAC : rôles 9/10 et utilisateurs 3/4 ; union multi-rôles, deny + individuel et 403 directs vérifiés. ## Prochaine étape diff --git a/docs/ui-audit/REPORT.md b/docs/ui-audit/REPORT.md index 0ef9bb2..1459f7e 100644 --- a/docs/ui-audit/REPORT.md +++ b/docs/ui-audit/REPORT.md @@ -21,6 +21,8 @@ retournent 401. Les pages métier principales répondent 200. la base/Gunicorn. - P2 : clarifier Site, Collège, Bâtiment et unités de produit. - P2 : injecter `GIT_VERSION` dans les images Docker. +- P1 : filtrer le menu et les raccourcis du dashboard selon les permissions + effectives ; actuellement le backend refuse mais les liens restent visibles. - P2 : clarifier `/planning/availability`, qui reprend le titre et la structure de `/planning/time`.