FEAT: Enforcement — appliquer le filtrage caméra dans tous les endpoints sensibles #139

Closed
opened 2026-08-18 08:58:42 +02:00 by nonobis · 0 comments
Owner

Contexte

Le filtrage par ICameraAccessService doit être appliqué partout où des données caméra sont retournées.

Référence spec

Section 4.4 StreamingHub — Sécurité renforcée.

État actuel

  • StreamingHub.RequestStream vérifie l'accès au site mais pas à la caméra individuelle
  • Les endpoints d'événements ne filtrent pas par accès caméra

À faire

  1. StreamingHub : vérifier HasCameraAccessAsync(userId, cameraId) au lieu de juste UserSite
  2. Events API : filtrer par caméras accessibles
  3. Persons API : filtrer par caméras accessibles
  4. Recordings API : filtrer par caméras accessibles

Critères d'acceptation

  • StreamingHub vérifie l'accès caméra individuelle
  • Events filtrés par caméras accessibles
  • Persons filtrés par caméras accessibles
  • Recordings filtrés par caméras accessibles
  • Admin non affecté
  • Tests passent

Fichiers concernés

  • src/Heimdall.Web/Hubs/StreamingHub.cs
  • src/Heimdall.Application/Events/Queries/
  • src/Heimdall.Application/Persons/Queries/
  • src/Heimdall.Application/Recordings/Queries/
## Contexte Le filtrage par `ICameraAccessService` doit être appliqué partout où des données caméra sont retournées. ## Référence spec Section 4.4 StreamingHub — Sécurité renforcée. ## État actuel - `StreamingHub.RequestStream` vérifie l'accès au site mais pas à la caméra individuelle - Les endpoints d'événements ne filtrent pas par accès caméra ## À faire 1. StreamingHub : vérifier `HasCameraAccessAsync(userId, cameraId)` au lieu de juste `UserSite` 2. Events API : filtrer par caméras accessibles 3. Persons API : filtrer par caméras accessibles 4. Recordings API : filtrer par caméras accessibles ## Critères d'acceptation - [ ] StreamingHub vérifie l'accès caméra individuelle - [ ] Events filtrés par caméras accessibles - [ ] Persons filtrés par caméras accessibles - [ ] Recordings filtrés par caméras accessibles - [ ] Admin non affecté - [ ] Tests passent ## Fichiers concernés - `src/Heimdall.Web/Hubs/StreamingHub.cs` - `src/Heimdall.Application/Events/Queries/` - `src/Heimdall.Application/Persons/Queries/` - `src/Heimdall.Application/Recordings/Queries/`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nonobis/Heimdall#139
No description provided.