Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Decorateur d'autorisation (cas reel)
Pour finir cette serie, un exercice qui ressemble a ce qu'on fait dans la vraie vie. Dans une application web, tu veux souvent restreindre l'acces a certaines fonctions selon le role de l'utilisateur.
L'idee : un decorateur parametrise qui prend une liste de roles autorises. Avant d'exécuter la fonction, il vérifie que l'utilisateur (passe comme premier argument) a le bon role.
On va simuler ca avec un simple dictionnaire utilisateur qui a une clé 'role'.
Écris un decorateur parametrise autoriser(*roles_permis) qui vérifie que le premier argument de la fonction est un dictionnaire avec une clé 'role' dont la valeur est dans les roles permis. Si le role n'est pas autorise, leve une PermissionError.
Exemple : @autoriser('admin', 'moderateur') def supprimer_utilisateur(user, cible): return f'{cible} supprime'