首页 > 解决方案 > 路径“security.firewalls.main.form_login”的类型无效。预期的数组,但得到了字符串

问题描述

我的 security.yml 文件出现错误,我检查了这篇文章Invalid type for path "security.firewalls.main.form_login"。预期的数组,但得到了字符串,所有的建议都没有帮助。以前遇到过这个问题的人吗?

我在这篇文章上尝试了一个建议(路径“security.firewalls.main.form_login”的类型无效。预期的数组,但得到了字符串)但它们没有用

    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
    providers:
         my_provider:
         entity:
         class: App\Entity\User
         property: username

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: true

            form_login: 
            login_path: login
            check_path: login
            provider: my_provider



    access_control:
        # - { path: ^/admin, roles: ROLE_ADMIN }
        # - { path: ^/profile, roles: ROLE_USER }

我想创建一个新的登录控制器

标签: phpsymfonysecurity

解决方案


它不起作用,因为您的security.yml文件格式不正确。
这是您的文件的更正版本:

providers:
    my_provider:
        entity:
            class: App\Entity\User
            property: username

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        anonymous: true
        provider: my_provider
        form_login:
            login_path: login
            check_path: login

access_control:
    # - { path: ^/admin, roles: ROLE_ADMIN }
    # - { path: ^/profile, roles: ROLE_USER }

推荐阅读