Le 30/04/2013 08:14, Adrien Cheype a écrit :
J'ai trouvé une correction toutefois assez simple dans la vérification des droits en utilisant un containsWithValue qui se base sur idCampagne plutôt qu'un contains. Cela donne pour les campagnesDroits (faire de même pour les campagnesCrees, campagnesDroits et lotsDroits) :
// accessible si l'utilisateur a le droit à la campagne if (CollectionTools.containsWithValue(utilisateur.getCampagnesDroits().keySet(), "idCampagne", BeanTools.AccessType.GETTER, lot.getCampagne().getIdCampagne())) { return true; } Il faudrait vérifier également plus haut que lot.getCreateur() est bien chargé dans le même objet qu'utilisateur...
Je vais commité ca pour l'instant avec un commentaire explicatif.
Si tu trouves pourquoi les objects ne sont pas chargés dans la même instance, mieux vaut toutefois garder le code initial : il sera plus performant.
Si je lit bien cette page: https://community.jboss.org/wiki/EqualsAndHashCode les eq/hc ont l'air d'avoir une importance supplémentaire sur les entités sont utilisées comme clé composite, ce qui est le cas pour la gestion des droits. -- Éric Chatellier - Code Lutin Tel: 02.40.50.29.28 - http://www.codelutin.com