2014-12-10 3 views
0

Im пытается переопределить EditableRolesBuilder в папке безопасности.SonataUserBundle overriding EditableRolesBuilder

  • Я пытаюсь сделать то же иерархию в Application \ соната \ UserBundle \ Security \ EditableRolesBuilder который расширяет базу одна соната \ UserBundle \ Security \ EditableRolesBuilder от поставщика, но без успеха.
  • Я стараюсь, чтобы переопределить службу в соната \ UserBundle \ Resources \ Config \ admin.xml, чтобы передать свой собственный класс , но я нигде не могу найти, как переопределить всю службу service.This без параметров, но закодированного класса и я cant't передать его в config.yml
+0

Не является простой, который вы должны переопределить securityRolesType + трансформатор, чтобы получить правильно работать –

ответ

0

в соната администратора, если вы хотите изменить роли безопасности обработчика вы должны переопределить 2 услуги

  • sonata.user.editable_role_builder
  • sonata.user.form.type.security_roles

и определения будет выглядеть, как показано ниже

<services> 
     <service id="sonata.user.editable_role_builder" class="Acme\DemoBundle\Security\EditableRolesBuilder"> 
      <argument type="service" id="security.context" /> 
      <argument type="service" id="sonata.admin.pool" /> 
      <argument>%security.role_hierarchy.roles%</argument> 
     </service> 
     <service id="sonata.user.form.type.security_roles" class="Acme\DemoBundle\Form\Type\SecurityRolesType"> 
      <tag name="form.type" alias="sonata_security_roles" /> 
      <argument type="service" id="sonata.user.editable_role_builder" /> 
     </service> 
    </services> 

Для справки см Sonata Admin Override Security Roles Handler