Comprendre les droits du modèle
Lisez chaque colonne de ir.model.access.csv, puis créez un groupe dédié et donnez-lui l'accès au journal.
Jour 5 · Parcours complet
Vos notes sont accessibles depuis des pages, une API, un composant et des vues standard Odoo. Vous allez vérifier que chaque chemin respecte le même propriétaire, sans faire confiance à un identifiant envoyé par le navigateur.
Vous conservez training.note et l'API du Jour 4. Un IDOR permettrait à une personne de modifier un identifiant pour atteindre la note de quelqu'un d'autre. Pour l'éviter, Odoo détermine l'utilisateur Odoo courant, enregistre un propriétaire et applique une record rule dans tous les chemins d'accès.
Lisez chaque colonne de ir.model.access.csv, puis créez un groupe dédié et donnez-lui l'accès au journal.
Partez de l'utilisateur connecté, ajoutez le propriétaire dans la base, puis filtrez les notes dans les contrôleurs sans créer d'IDOR.
Voyez ce que le service ORM protège déjà dans un composant, et pourquoi un filtre JavaScript ne suffit jamais à sécuriser des notes.
Réutilisez les deux utilisateurs du groupe, ajoutez une record rule, affichez le propriétaire dans les views et vérifiez que chaque compte voit seulement ses notes.
Deux utilisateurs travaillent avec le même modèle training.note. Chacun peut créer, lire, modifier et supprimer ses propres notes, sans voir celles de l'autre. Les contrôleurs, Owl et les views partent tous de l'utilisateur authentifié ; la record rule constitue la protection commune contre un IDOR.
Suivez les étapes dans l'ordre. Chaque page vous indique le contrôle à observer avant de poursuivre.