Activer les ACLs dans SonataAdmin

Publié le par samuel

Les ACLs est un puissant outil de gestion des droits utilisateurs. Nous allons voir dans http://intesis.co.id/sale-lady-era/ cet article la configuration de base pour activer les ACLs sur SonataAdmin (avec SonataUser)

Note : L’implAi??mentation des ACLs est dAi??crite dans la documents officiel de Symfony et Sonata.

Configuration pour l’article :

  • Symfony : version 2.7
  • SonataAdmin : version 2.3
  • SonataUser : > version 2.2.4 (actuellement @dev)

CommenAi??ons part le config.yml

&lt;br /&gt;<br />
parameters:&lt;br /&gt;<br />
    # map de base fourni par sonata&lt;br /&gt;<br />
    security.acl.permission.map.class: Sonata\AdminBundle\Security\Acl\Permission\AdminPermissionMap&lt;/p&gt;<br />
&lt;p&gt;sonata_admin:&lt;br /&gt;<br />
    security:&lt;br /&gt;<br />
        handler: sonata.admin.security.handler.acl&lt;br /&gt;<br />
        # agregat de base des roles (exemple guest peut &amp;quot;voir&amp;quot; et &amp;quot;lister&amp;quot;)&lt;br /&gt;<br />
        information:&lt;br /&gt;<br />
            GUEST:    [VIEW, LIST]&lt;br /&gt;<br />
            STAFF:    [VIEW, LIST, CREATE]&lt;br /&gt;<br />
            EDITOR:   [VIEW, LIST, CREATE, EDIT, DELETE]&lt;br /&gt;<br />
            ADMIN:    [MASTER]&lt;/p&gt;<br />
&lt;p&gt;        # permissions gAi??nAi??ral de l'administration&lt;br /&gt;<br />
        admin_permissions: [VIEW, EDIT, CREATE, LIST, DELETE, UNDELETE, EXPORT, OPERATOR, MASTER]&lt;br /&gt;<br />
        # permissions pouvant A?tre attribuAi?? au cas par cas dans l'administration - ceci est un exemple&lt;br /&gt;<br />
        object_permissions: [VIEW, EDIT, DELETE, MASTER]&lt;br /&gt;<br />

Puis le security.yml :

&lt;br /&gt;<br />
security:&lt;br /&gt;<br />
    acl:&lt;br /&gt;<br />
        connection: default&lt;br /&gt;<br />

Allons http://imoas.kbsu.ru/index.php/2018/02/11/order-colospa-tablets/ dans une console et executons trois commandes :

  • php app/console init:acl -> ajout les tables dans votre BDD (une migration est recommandAi??)
  • php app/console sonata:admin:setup-acl -> crAi??er les rA?les dAi??finit plus haut
  • php app/console sonata:admin:generate-object-acl -> applique les droits sur les objets dAi??jAi?? existant dans votre base de donnAi??es

Et c’est tout !

Les ACLs sont en places vous pouvez maintenant les utiliser dans le http://anithamgroup.com/?p=3485 security.yml, sur un utilisateur (via les rA?les), sur un groupe ou via le bouton d’Ai??dition des permissions dans le formulaire d’un objet.

Bienvenue dans le monde des ACLs.

Bonus commande capifony pour les ACLs :

&lt;br /&gt;<br />
    namespace :sonata do&lt;br /&gt;<br />
        namespace :admin do&lt;br /&gt;<br />
            desc &amp;quot;Setup acl for sonata admin&amp;quot;&lt;br /&gt;<br />
            task :setupacl do&lt;br /&gt;<br />
                run &amp;quot;cd #{current_release} &amp;&amp; php app/console sonata:admin:setup-acl --no-debug&amp;quot;&lt;br /&gt;<br />
            end&lt;br /&gt;<br />
            desc &amp;quot;Generate object acl for sonata admin&amp;quot;&lt;br /&gt;<br />
            task :generateobjectacl do&lt;br /&gt;<br />
                run &amp;quot;cd #{current_release} &amp;&amp; php app/console sonata:admin:generate-object-acl --no-debug --no-interaction&amp;quot;&lt;br /&gt;<br />
            end&lt;br /&gt;<br />
        end&lt;br /&gt;<br />
    end&lt;br /&gt;<br />

Cette entrée a été publiée dans Administration. Vous pouvez la mettre en favoris avec ce permalien.



Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*


+ 5 = eight

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>