Bonjour,

D'après le cookbook :

Les entrées de contrôle d'accès peuvent avoir différentes portées dans lesquelles elles s'appliquent. Dans Symfony2, il existe principalement deux portées différentes :

  • Portée de la Classe : Ces entrées s'appliquent à tous les objets ayant la même classe.
  • Portée de l'Objet : Ceci est la portée utilisée dans le chapitre précédent, et elle s'applique uniquement à un objet spécifique.


Parfois, vous aurez besoin d'appliquer une ACE uniquement sur le champ spécifique d'un objet. Supposons que vous voulez que l'ID soit uniquement visible par un administrateur mais pas par votre service client. Pour solutionner ce problème commun, deux sous-portées supplémentaires ont été ajoutées :

  • Portée d'un Champ de Classe : Ces entrées s'appliquent à tous les objets ayant la même classe, mais uniquement à un champ spécifique de ces objets.
  • Portée d'un Champ d'Objet : Ces entrées s'appliquent à un objet spécifique, et uniquement à un champ spécifique de cet objet.
Un exemple du cookbook présente l'identification d'une instance d'un objet afin d'y appliquer des droits :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$objectIdentity = ObjectIdentity::fromDomainObject($comment);
Mais je ne trouve pas d'exemple pour identifier les 3 autres cas. Si vous avez ces exemples, je suis preneur.

Merci