fix(rbac) : gate les listes Gitea/BookStack par projects.manage (et non ROLE_USER)
Suite à la revue de sécurité : ROLE_ADMIN était trop strict (les ressources sœurs sont en ROLE_USER) mais ROLE_USER brut est trop permissif — ces endpoints listent TOUS les dépôts/étagères visibles par le token d'intégration global, sans filtrage par utilisateur. Comme ils ne sont consommés que par le ProjectDrawer (configuration du dépôt/étagère d'un projet), on les gate sur la permission métier project-management.projects.manage. Les admins conservent l'accès via le bypass ROLE_ADMIN du PermissionVoter.
This commit is contained in:
@@ -15,7 +15,9 @@ use Symfony\Component\Serializer\Attribute\Groups;
|
|||||||
uriTemplate: '/bookstack/shelves',
|
uriTemplate: '/bookstack/shelves',
|
||||||
normalizationContext: ['groups' => ['bookstack_shelf:read']],
|
normalizationContext: ['groups' => ['bookstack_shelf:read']],
|
||||||
provider: BookStackShelfProvider::class,
|
provider: BookStackShelfProvider::class,
|
||||||
security: "is_granted('ROLE_USER')",
|
// Liste toutes les étagères visibles par le token BookStack global :
|
||||||
|
// réservé à qui configure un projet (ProjectDrawer), pas à tout user.
|
||||||
|
security: "is_granted('project-management.projects.manage')",
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)]
|
)]
|
||||||
|
|||||||
@@ -15,7 +15,9 @@ use Symfony\Component\Serializer\Attribute\Groups;
|
|||||||
uriTemplate: '/gitea/repositories',
|
uriTemplate: '/gitea/repositories',
|
||||||
normalizationContext: ['groups' => ['gitea_repo:read']],
|
normalizationContext: ['groups' => ['gitea_repo:read']],
|
||||||
provider: GiteaRepositoryProvider::class,
|
provider: GiteaRepositoryProvider::class,
|
||||||
security: "is_granted('ROLE_USER')",
|
// Liste l'intégralité des dépôts visibles par le token Gitea global :
|
||||||
|
// réservé à qui configure un projet (ProjectDrawer), pas à tout user.
|
||||||
|
security: "is_granted('project-management.projects.manage')",
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)]
|
)]
|
||||||
|
|||||||
Reference in New Issue
Block a user