2012-03-30 7 views
5

Il codice dell'esempio ufficiale ACL funziona: http://symfony.com/doc/current/cookbook/security/acl.htmlSymfony2: estensione ramoscello is_granted ('Modifica', commentare) non funziona in un ciclo foreach

Se lo faccio, non c'è problema ...

{% if is_granted('EDIT', comment) %} 
    Edit 
{% endif %} 

... ma se desidero un "Accesso concesso" a un oggetto associato, non funziona.

{% for comment in news.comments %} 
    comment.content 
    {% if is_granted('EDIT', comment) %} 
     Edit 
    {% endif %} 
{% endfor %} 

Penso che l'estensione di ramoscello non possa sapere che "commento" è una "entità di commento".

La query ricerche "Proxy \ JblNewsBundleEntityCommentProxy" invece di "Jbl \ NewsBundle \ Entity \ Commento":

SELECT a.ancestor_id FROM acl_object_identities o INNER JOIN acl_classes c ON c.id = o.class_id INNER JOIN acl_object_identity_ancestors a ON a.object_identity_id = o.id WHERE ((o.object_identifier = '38' AND c.class_type = 'Proxies\\JblNewsBundleEntityCommentProxy')) 

Ma io non so come risolvere questo.

Avete una soluzione, per favore?

risposta