<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Commentaires sur : Gestion des droits d&#8217;accès par groupes d&#8217;utilisateurs avec ACL</title>
	<atom:link href="http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl/feed" rel="self" type="application/rss+xml" />
	<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl</link>
	<description>Le cadre de développement PHP et son utilisation au jour le jour.</description>
	<pubDate>Sat, 17 May 2008 09:49:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>Par : Avairet</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-176</link>
		<dc:creator>Avairet</dc:creator>
		<pubDate>Thu, 24 Apr 2008 16:52:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-176</guid>
		<description>j'essaie de générer mes Aro/Aco avec la ligne de commande et le script cake/acl/.

Je fais :
acl create aro 'Group', 1, null, 'Administrateur'

Et je reçois un beau message d'erreur :

Error: Could not find parent node using reference "'Group',"

As-tu une vague idée du problème ?</description>
		<content:encoded><![CDATA[<p>j&#8217;essaie de générer mes Aro/Aco avec la ligne de commande et le script cake/acl/.</p>
<p>Je fais :<br />
acl create aro &#8216;Group&#8217;, 1, null, &#8216;Administrateur&#8217;</p>
<p>Et je reçois un beau message d&#8217;erreur :</p>
<p>Error: Could not find parent node using reference &#8220;&#8216;Group&#8217;,&#8221;</p>
<p>As-tu une vague idée du problème ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Avairet</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-175</link>
		<dc:creator>Avairet</dc:creator>
		<pubDate>Thu, 24 Apr 2008 15:31:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-175</guid>
		<description>Merci ! Par anticipation, je vais donc utiliser les deux, on ne sait jamais !
Par contre, dans d'autres tutos, j'ai constaté une différence d'implémentation de la méthode parentNode() dans le modèle Group : 

return $data['Group']['parent_id'];

au lieu de :

return array('model' =&#62; 'Group',      'foreign_key' =&#62; data['Group']['parent_id']);</description>
		<content:encoded><![CDATA[<p>Merci ! Par anticipation, je vais donc utiliser les deux, on ne sait jamais !<br />
Par contre, dans d&#8217;autres tutos, j&#8217;ai constaté une différence d&#8217;implémentation de la méthode parentNode() dans le modèle Group : </p>
<p>return $data['Group']['parent_id'];</p>
<p>au lieu de :</p>
<p>return array(&#8217;model&#8217; =&gt; &#8216;Group&#8217;,      &#8216;foreign_key&#8217; =&gt; data['Group']['parent_id']);</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre-Emmanuel Fringant</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-174</link>
		<dc:creator>Pierre-Emmanuel Fringant</dc:creator>
		<pubDate>Thu, 24 Apr 2008 15:26:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-174</guid>
		<description>... ou aux deux, ou lorsque tu ne veux gérer que des users, pas de groupes.</description>
		<content:encoded><![CDATA[<p>&#8230; ou aux deux, ou lorsque tu ne veux gérer que des users, pas de groupes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Avairet</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-173</link>
		<dc:creator>Avairet</dc:creator>
		<pubDate>Thu, 24 Apr 2008 15:07:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-173</guid>
		<description>Ok, donc cela ne peut servir que dans le cas où on attribue des permissions à un User plutôt qu'à un Group ?</description>
		<content:encoded><![CDATA[<p>Ok, donc cela ne peut servir que dans le cas où on attribue des permissions à un User plutôt qu&#8217;à un Group ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre-Emmanuel Fringant</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-172</link>
		<dc:creator>Pierre-Emmanuel Fringant</dc:creator>
		<pubDate>Thu, 24 Apr 2008 14:56:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-172</guid>
		<description>Imagine le Group Rédaction et les Users Redacteur1, Redacteur2 et RedacteurEnChef : avec un parent_id dans la table users, tu peux dire que les rédacteurs 1 et 2 sont "fils" de RedacteurEnChef. Ceci fait, tu peux gérer les Users comme les Groups pour que les enfants d'un User héritent de ses droits.</description>
		<content:encoded><![CDATA[<p>Imagine le Group Rédaction et les Users Redacteur1, Redacteur2 et RedacteurEnChef : avec un parent_id dans la table users, tu peux dire que les rédacteurs 1 et 2 sont &#8220;fils&#8221; de RedacteurEnChef. Ceci fait, tu peux gérer les Users comme les Groups pour que les enfants d&#8217;un User héritent de ses droits.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Avairet</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-171</link>
		<dc:creator>Avairet</dc:creator>
		<pubDate>Thu, 24 Apr 2008 14:21:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-171</guid>
		<description>Excuse moi mais cela ne me parle pas plus, je ne vois pas ce que cela apporte en plus ? As-tu un exemple plus précis ? C'est pour savoir si je l'intègre dans mon projet ou si je fais comme toi...</description>
		<content:encoded><![CDATA[<p>Excuse moi mais cela ne me parle pas plus, je ne vois pas ce que cela apporte en plus ? As-tu un exemple plus précis ? C&#8217;est pour savoir si je l&#8217;intègre dans mon projet ou si je fais comme toi&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre-Emmanuel Fringant</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-169</link>
		<dc:creator>Pierre-Emmanuel Fringant</dc:creator>
		<pubDate>Thu, 24 Apr 2008 14:15:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-169</guid>
		<description>Tout simplement à gérer une hiérarchie d'utilisateurs, indépendamment des groupes.</description>
		<content:encoded><![CDATA[<p>Tout simplement à gérer une hiérarchie d&#8217;utilisateurs, indépendamment des groupes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Avairet</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-168</link>
		<dc:creator>Avairet</dc:creator>
		<pubDate>Thu, 24 Apr 2008 13:51:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-168</guid>
		<description>A quoi pourrait servir l'arborescence d'utilisateurs (parent_id) que tu as choisie de ne pas implémenter ?</description>
		<content:encoded><![CDATA[<p>A quoi pourrait servir l&#8217;arborescence d&#8217;utilisateurs (parent_id) que tu as choisie de ne pas implémenter ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Neveldo</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-166</link>
		<dc:creator>Neveldo</dc:creator>
		<pubDate>Thu, 24 Apr 2008 10:26:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-166</guid>
		<description>Merci beaucoup pour ta réponse :)

Pour reprendre :

1) Oui, en fait je me suis emmêlé les pinceaux en voulant taper un petit exemple... C'était en fait pour savoir comment différencier deux actions qui se nomme pareil mais se trouvant dans deux contrôleurs différents lorsque qu'on assigne les droits via allow(). Il faut en fait y accéder via 'nomModèle.nomAction' dans ce cas.

2) Merci pour votre explication, je vois mieux le but de la séparation !

3)4) Si j'ai bien compris les comportements (avec le $actsAs) : cela permet lors d'une action CRUD sur le modèle contenant le comportement ACL d' automatiquement mettre à jour les infos de la table ARO ou ACO. Donc ici, lorsqu'on ajoute un utilisateur via la méthode save() du modèle User, il y aura également d'office une entrée enregistrée dans les ARO. De la même façon pour la lecture, mise à jour et suppression d'utilisateurs j'imagine. 

Merci encore !</description>
		<content:encoded><![CDATA[<p>Merci beaucoup pour ta réponse <img src='http://www.formation-cakephp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pour reprendre :</p>
<p>1) Oui, en fait je me suis emmêlé les pinceaux en voulant taper un petit exemple&#8230; C&#8217;était en fait pour savoir comment différencier deux actions qui se nomme pareil mais se trouvant dans deux contrôleurs différents lorsque qu&#8217;on assigne les droits via allow(). Il faut en fait y accéder via &#8216;nomModèle.nomAction&#8217; dans ce cas.</p>
<p>2) Merci pour votre explication, je vois mieux le but de la séparation !</p>
<p>3)4) Si j&#8217;ai bien compris les comportements (avec le $actsAs) : cela permet lors d&#8217;une action CRUD sur le modèle contenant le comportement ACL d&#8217; automatiquement mettre à jour les infos de la table ARO ou ACO. Donc ici, lorsqu&#8217;on ajoute un utilisateur via la méthode save() du modèle User, il y aura également d&#8217;office une entrée enregistrée dans les ARO. De la même façon pour la lecture, mise à jour et suppression d&#8217;utilisateurs j&#8217;imagine. </p>
<p>Merci encore !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Pierre-Emmanuel Fringant</title>
		<link>http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-165</link>
		<dc:creator>Pierre-Emmanuel Fringant</dc:creator>
		<pubDate>Wed, 23 Apr 2008 09:53:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.formation-cakephp.com/32/gestion-des-droits-dacces-par-groupes-dutilisateurs-avec-acl#comment-165</guid>
		<description>Je vais essayer de répondre dans l'ordre :

1) "J’ai un contrôleur Articles avec une action admin_ajouter et une action admin_supprimer. En toute logique, je devrais faire : $this-&gt;Acl-&gt;allow(’Redacteurs’, ‘Articles’, array(’read’, ‘create’));
Hors, en faisant comme cela, l’utilisateur n’a pas du tout accès au contrôleur".
&gt; Il s'agit ici d'un problème de nommage des fonctions. Il faut rester dans la norme anglaise et rebaptisez les actions en admin_add et admin_del ou admin_delete.

2) "vous utilisez une table group, mais elle semble faire doublons avec les infos de la table ARO"
&gt; On peut très bien imaginer des groupes distincts qui ont exactement les mêmes droits, par exemple dans les gestion d'une usine, le groupe Equipe de Nuit et le groupe Equipe de Jour ont tous deux le même rôle Equipe, inutile de dupliquer les droits.

3) "Si j’ai bien compris, les utilisateurs ne font pas directement parti des AROs mais par l’intermédiaire des groupes"
&gt; Les utilisateurs peuvent tout à fait avoir un ARO associé, tout en appartenant à un groupe qui lui-même a un ARO, d'où la souplesse de la solution.

4) "En revanche pour les groupes, je vois l’utilité. Le problème, est qu’à l’ajout d’un groupe (méthode save() sur le modèle Group) , Cake ajoute bien une entrée dans les AROs, mais l’alias du groupe et son éventuel parent restent vides dans la tables des AROs..."
&gt; Je ne suis pas sûr d'avoir bien compris, voudriez-vous préciser ? L'idéal serait même de fournir une portion de code via http://bin.cakephp.org/</description>
		<content:encoded><![CDATA[<p>Je vais essayer de répondre dans l&#8217;ordre :</p>
<p>1) &#8220;J’ai un contrôleur Articles avec une action admin_ajouter et une action admin_supprimer. En toute logique, je devrais faire : $this->Acl->allow(’Redacteurs’, ‘Articles’, array(’read’, ‘create’));<br />
Hors, en faisant comme cela, l’utilisateur n’a pas du tout accès au contrôleur&#8221;.<br />
> Il s&#8217;agit ici d&#8217;un problème de nommage des fonctions. Il faut rester dans la norme anglaise et rebaptisez les actions en admin_add et admin_del ou admin_delete.</p>
<p>2) &#8220;vous utilisez une table group, mais elle semble faire doublons avec les infos de la table ARO&#8221;<br />
> On peut très bien imaginer des groupes distincts qui ont exactement les mêmes droits, par exemple dans les gestion d&#8217;une usine, le groupe Equipe de Nuit et le groupe Equipe de Jour ont tous deux le même rôle Equipe, inutile de dupliquer les droits.</p>
<p>3) &#8220;Si j’ai bien compris, les utilisateurs ne font pas directement parti des AROs mais par l’intermédiaire des groupes&#8221;<br />
> Les utilisateurs peuvent tout à fait avoir un ARO associé, tout en appartenant à un groupe qui lui-même a un ARO, d&#8217;où la souplesse de la solution.</p>
<p>4) &#8220;En revanche pour les groupes, je vois l’utilité. Le problème, est qu’à l’ajout d’un groupe (méthode save() sur le modèle Group) , Cake ajoute bien une entrée dans les AROs, mais l’alias du groupe et son éventuel parent restent vides dans la tables des AROs&#8230;&#8221;<br />
> Je ne suis pas sûr d&#8217;avoir bien compris, voudriez-vous préciser ? L&#8217;idéal serait même de fournir une portion de code via <a href="http://bin.cakephp.org/" rel="nofollow">http://bin.cakephp.org/</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
