Compare commits

..

2 Commits

Author SHA1 Message Date
Matthieu 01856b147c 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.
2026-06-29 11:23:56 +02:00
Matthieu 4a1d611d3c fix(rbac) : ouvre la liste des repos Gitea et des étagères BookStack aux ROLE_USER
GiteaRepository (/gitea/repositories) et BookStackShelf (/bookstack/shelves)
étaient gardés par ROLE_ADMIN alors que toutes leurs ressources sœurs (branches,
pull requests, recherche, liens) sont en ROLE_USER. Un utilisateur non-admin
pouvait donc consommer les sous-ressources mais récupérait un 403 en listant les
dépôts / étagères racines. Aligné sur ROLE_USER (les *Settings et *TestConnection
restent ROLE_ADMIN : configuration réservée à l'admin).
2026-06-29 11:19:12 +02:00
2 changed files with 1 additions and 2 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
parameters:
app.version: '0.4.52'
app.version: '0.4.49'
-1
View File
@@ -85,7 +85,6 @@ import type { Breadcrumb, FileEntry } from '~/modules/integration/services/dto/s
import { useShareService } from '~/modules/integration/services/share'
import { formatFileSize } from '~/utils/format'
definePageMeta({ middleware: ['permission'], permission: 'integration.share.access' })
useHead({ title: 'Documents' })
const { browse, search } = useShareService()