Alors en fait je ne suis pas fan d'un plugin tout fait pour faire ça :) J'ai construis un syteme de role. Mon problème était finalement bien plus basique et je l'avais mal formulé (mea culpa :) ) , c'était plutôt une histoire de droits à l'intérieur d'un même rôle.
Je reviens ici pour donner ma solution si elle peut servir à d'autres, car c'est un problème que l'on peut rencontre sur des sites ouverts.
Exemple concret : Je ne voulais pas que les auteurs puissent accéder à l'édition des articles des autres via l'URL. J'ai mis en place une solution simple que j'ai trouvé dans la Doc. de cake. faire une fonction au niveau de mon modèle, que je peux appeler dans mes actions. LA fonction test que le contenu appartient bien à l'user en question et dans le modèle post par exemple ça donne ça :
// app/Model/Post.php
public function isOwnedBy($post, $user) {
return $this->field('id', array('id' => $post, 'user_id' => $user)) !== false;
}
Ensuite je n'ai plus qu'à tester dans l'action edit de mon controller Post comme ceci :
// je test que le contenu appartient bien au user
if ($this->Post->isOwnedBy($postId, $user['id'])) {
// Ok tu peux éditer ton contenu
}
else {
// non tu ne peux pas accéder à l'édition de ce contenu
}
Voilà pour la solution, simple mais efficace :) en espérant que ça serve à d'autres.