SonataUserBundle overriding EditableRolesBuilder



我试图覆盖安全文件夹中的 EditableRolesBuilder。

  • 我尝试在Application\Sonata\UserBundle\Security\EditableRolesBuilder扩展基础一 Sonata\UserBundle\Security\EditableRolesBuilder来自供应商,但没有成功。
  • 我尝试覆盖服务Sonata\UserBundle\Resources\config\admin.xml,以传递我的自定义类但是我在任何地方都找不到如何覆盖整个服务的方法。此服务没有参数,但硬编码类,我无法传入配置.yml

在Sonata管理员中,如果您希望覆盖安全角色处理程序,则必须覆盖2个服务

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

定义如下所示

    <services>
        <service id="sonata.user.editable_role_builder" class="AcmeDemoBundleSecurityEditableRolesBuilder">
            <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="AcmeDemoBundleFormTypeSecurityRolesType">
            <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

相关内容

  • 没有找到相关文章

最新更新