Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “配置路径”;安全。访问控制;无法覆盖_Php_Symfony_Doctrine Orm_Path - Fatal编程技术网

Php “配置路径”;安全。访问控制;无法覆盖

Php “配置路径”;安全。访问控制;无法覆盖,php,symfony,doctrine-orm,path,Php,Symfony,Doctrine Orm,Path,我正忙着在Symfony 2.6.9上配置Fouserbundle。但不起作用,我得到了这个信息: BaseNode.php第223行中的禁止重写异常:无法覆盖配置路径“security.access\u control”。您必须在一个配置部分中定义此路径及其任何子路径的所有选项。 (我做了配置,appkernel,config,composer) user.php <?php namespace FLY\UserBundle\Entity; use FOS\UserBundle\Mo

我正忙着在Symfony 2.6.9上配置Fouserbundle。但不起作用,我得到了这个信息:

BaseNode.php第223行中的禁止重写异常:无法覆盖配置路径“security.access\u control”。您必须在一个配置部分中定义此路径及其任何子路径的所有选项。

(我做了配置,appkernel,config,composer)

user.php

<?php

namespace FLY\UserBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="FLY_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }
}
UserBundle/Resources/config/security.yml

imports:
- { resource: "@FLYUserBundle/Resources/config/security.yml" }


security:
    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN
security:
encoders:
    FOS\UserBundle\Model\UserInterface: sha512

providers:
        fos_userbundle:
            id: fos_user.user_manager

firewalls:

    main:
                pattern: ^/
                form_login:
                    provider: fos_userbundle
                    csrf_provider: form.csrf_provider
                logout:       true
                anonymous:    true
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  ^/demo/secured/login$
        security: false

    secured_area:
        pattern:    ^/demo/secured/
        form_login:
            check_path: /demo/secured/login_check
            login_path: /demo/secured/login
        logout:
            path:   /demo/secured/logout
            target: /demo/
        #anonymous: ~
        #http_basic:
        #    realm: "Secured Demo Area"
FLY_Platform:
resource: "@FLYPlatformBundle/Resources/config/routing.yml"
prefix:   /


mremi_contact_form:
    resource: "@MremiContactBundle/Resources/config/routing.xml"

genemu_base64:
        resource: "@GenemuFormBundle/Resources/config/routing/base64.xml"

_user_bundle:
    resource: "@UserBundle/Resources/config/routing.yml"
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"


fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile

fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register

fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting

fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /profile
app/Resources/config/routing.yml

imports:
- { resource: "@FLYUserBundle/Resources/config/security.yml" }


security:
    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN
security:
encoders:
    FOS\UserBundle\Model\UserInterface: sha512

providers:
        fos_userbundle:
            id: fos_user.user_manager

firewalls:

    main:
                pattern: ^/
                form_login:
                    provider: fos_userbundle
                    csrf_provider: form.csrf_provider
                logout:       true
                anonymous:    true
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  ^/demo/secured/login$
        security: false

    secured_area:
        pattern:    ^/demo/secured/
        form_login:
            check_path: /demo/secured/login_check
            login_path: /demo/secured/login
        logout:
            path:   /demo/secured/logout
            target: /demo/
        #anonymous: ~
        #http_basic:
        #    realm: "Secured Demo Area"
FLY_Platform:
resource: "@FLYPlatformBundle/Resources/config/routing.yml"
prefix:   /


mremi_contact_form:
    resource: "@MremiContactBundle/Resources/config/routing.xml"

genemu_base64:
        resource: "@GenemuFormBundle/Resources/config/routing/base64.xml"

_user_bundle:
    resource: "@UserBundle/Resources/config/routing.yml"
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"


fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile

fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register

fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting

fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /profile
UserBundle/Resources/config/routing.yml

imports:
- { resource: "@FLYUserBundle/Resources/config/security.yml" }


security:
    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN
security:
encoders:
    FOS\UserBundle\Model\UserInterface: sha512

providers:
        fos_userbundle:
            id: fos_user.user_manager

firewalls:

    main:
                pattern: ^/
                form_login:
                    provider: fos_userbundle
                    csrf_provider: form.csrf_provider
                logout:       true
                anonymous:    true
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  ^/demo/secured/login$
        security: false

    secured_area:
        pattern:    ^/demo/secured/
        form_login:
            check_path: /demo/secured/login_check
            login_path: /demo/secured/login
        logout:
            path:   /demo/secured/logout
            target: /demo/
        #anonymous: ~
        #http_basic:
        #    realm: "Secured Demo Area"
FLY_Platform:
resource: "@FLYPlatformBundle/Resources/config/routing.yml"
prefix:   /


mremi_contact_form:
    resource: "@MremiContactBundle/Resources/config/routing.xml"

genemu_base64:
        resource: "@GenemuFormBundle/Resources/config/routing/base64.xml"

_user_bundle:
    resource: "@UserBundle/Resources/config/routing.yml"
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"


fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile

fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register

fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting

fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /profile

感谢您使用symfony,正如错误消息所说,您无法覆盖大多数安全选项。您应该在
app/config/security.yml

中定义所有与安全相关的配置。我认为导入的安全文件是app/Resources/config/security.yml

这是我的app/config/config.yml

导入:
-{resource:parameters.yml}
-{资源:security.yml}
-{资源:security.yml}
框架:
#esi:~
翻译:~
秘密:“%secret%”
路由器:
资源:“%kernel.root\u dir%/config/routing.yml”
严格要求:~
表格:~
csrf_保护:~
验证:{enable_annotations:true}
模板:
引擎:['twig']
#资产版本:SomeVersionScheme
默认语言环境:“%locale%”
受信任的\u主机:~
受信任的_代理:~
会议:
#handler_id设置为null将使用php.ini中的默认会话处理程序
处理程序id:~
片段:~
http_方法_覆盖:true
#细枝形态
细枝:
调试:“%kernel.debug%”
严格的_变量:“%kernel.debug%”
#资产配置
资产:
调试:%kernel.debug%
使用控制器:false
捆绑:[]
java:/usr/bin/java
过滤器:
CSSRew:~
cssembed:
jar:%kernel.root\u dir%/Resources/java/cssembed-0.4.5.jar
yui_js:
jar:%kernel.root\u dir%/Resources/java/yuicompressor.jar
LESSHPP:
文件:%kernel.root_dir%/../vendor/leafo/lesshp/lessc.inc.php
将\u应用于“\.减去$”
资产:
jquery_js:
投入:
-“%kernel.root\u dir%/../components/jquery/jquery.min.js”
过滤器:[?yui_js]
bootstrap_js:
投入:
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/transition.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/alert.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/modal.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/dropdown.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/scrollspy.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/tab.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/tooltip.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/popover.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/button.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/collapse.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/carousel.js”
-“%kernel.root_dir%/../vendor/twitter/bootstrap/js/affix.js”
过滤器:[?yui_js]
无引导程序:
投入:
-“%kernel.root\u dir%/../vendor/twitter/bootstrap/less/bootstrap.less”
过滤器:[LESSHPP,cssembed]
#条令结构
教条:
dbal:
驱动程序:“%database\u driver%”
主机:“%数据库\主机%”
端口:“%数据库\端口%”
dbname:“%database_name%”
用户:%数据库用户%“
密码:“%database\u password%”
字符集:UTF8
#如果使用pdo_sqlite作为数据库驱动程序:
#   1. 在parameters.yml中添加路径
#例如,数据库路径:“%kernel.root\u dir%/data/data.db3”
#   2. 在parameters.yml.dist中取消对数据库路径的注释
#   3. 取消注释下一行:
#路径:“%database\u path%”
orm:
自动生成代理类:“%kernel.debug%”
自动映射:true
#Swiftmailer配置
速递员:
传输:“%mailer\u传输%”
主机:“%mailer\u主机%”
加密:“%mailer\u encryption%”
用户名:“%mailer\u用户%”
密码:“%mailer\u password%”
假脱机:{type:memory}
mremi_联系人:
存储单元数据:false
联系人类别:Mremi\ContactBundle\Model\contact
表格:
类型:mremi_触点
姓名:联络表格
验证组:[默认值]
主题提供者:mremi\u contact.subject\u provider.noop
验证码类型:genemu验证码
电邮:
邮递员:mremi\u contact.mailer.twig\u swift
发件人:[{地址:xxxxxx@gmail.com,名称:“网站管理员”}]
收件人:[{地址:xxxxxx@hotmail.fr}]#必需
模板:MremiContactBundle:Contact:email.txt.twig
genemu_表格:
验证码:~
#fouser配置
fos_用户:
db_驱动程序:orm
防火墙名称:main

user\u class:FLY\UserBundle\Entity\user
我也有同样的问题。我在config_dev.php中评论了有关fos_用户db_驱动程序的行,它帮助了我在symfony升级后遇到了相同的错误

无法覆盖配置路径“security.access\u control”。必须在一个配置节中定义此路径及其任何子路径的所有选项

在我的例子中,我修补了旧的AppKernel.php,并使用了重复的configuraton load命令

public function registerContainerConfiguration(LoaderInterface $loader)
{
    // this is old code
    $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');

    // code above is new and copy-pasted from clean symfony 3.4 install
    $loader->load(function (ContainerBuilder $container) {
        $container->setParameter('container.autowiring.strict_mode', true);
        $container->setParameter('container.dumper.inline_class_loader', true);

        $container->addObjectResource($this);
    });
    $loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}

删除第一个后-一切正常。

由于使用了单独的security.yaml,因此出现了相同的错误<