fix: un dossier perso n'est plus visible par les autres comptes #194
L'admin (vaults: ["*"]) voyait le home de chaque utilisateur dans sa barre latérale : "*" ouvrait tous les vaults, home-* compris. - backend/auth/middleware.py : check_vault_access exige un octroi explicite pour tout vault home-* (nouveau is_home_vault()). - Filtres « * » en dur remplacés par check_vault_access : dashboard, conflits, liens retour, favoris, abonnements push. - /api/search : search_vaults(is_allowed=…) filtre les bruts avant pagination (total et page restent justes). - backend/user_home.py : _grant n'écarte plus les comptes « * » — l'admin reçoit son propre home-admin (auto-réparé au démarrage). - Tests : test_user_home.py +2, assertion API inversée dans test_auth_api.py (admin ne voit plus home-alice).
This commit is contained in:
@@ -514,8 +514,11 @@ class TestUserHome:
|
||||
assert (home / "alice").is_dir()
|
||||
|
||||
names = [v["name"] for v in auth_client.get("/api/vaults", headers=admin).json()]
|
||||
assert "home-alice" in names
|
||||
# L'octroi atterrit bien dans le user → visible dans son JWT/liste de vaults
|
||||
# #194 : « * » n'inclut pas les dossiers persos — l'admin ne voit pas
|
||||
# le home d'alice (il ne verrait sinon celui de chaque utilisateur).
|
||||
assert "home-alice" not in names
|
||||
assert "TestVault" in names
|
||||
# L'octroi atterrit bien dans le user
|
||||
assert "home-alice" in resp.json()["vaults"]
|
||||
|
||||
# Isolation : alice ne voit QUE son propre dossier
|
||||
|
||||
Reference in New Issue
Block a user