Symfony 未找到“的路由”;获取/登录

Symfony 未找到“的路由”;获取/登录,symfony,fosuserbundle,Symfony,Fosuserbundle,当我尝试使用错误的凭据登录时,它会显示“重试,错误的凭据”,但在输入正确的凭据后,它会显示错误 找不到“GET/”(从“”)的路由。下面是my security.yml的配置 security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: ROLE_ADMIN # http://sym

当我尝试使用错误的凭据登录时,它会显示“重试,错误的凭据”,但在输入正确的凭据后,它会显示错误 找不到“GET/”(从“”)的路由。下面是my security.yml的配置

security:
encoders:
    FOS\UserBundle\Model\UserInterface: bcrypt

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN

# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
providers:
    in_memory:
        memory: ~

    fos_userbundle:
        id: fos_user.user_provider.username

firewalls:
    # disables authentication for assets and the profiler, adapt it according to your needs
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false

    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_token_generator: security.csrf.token_manager
        logout:    true
        anonymous: true
        # activate different ways to authenticate

        # http_basic: ~
        # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate

        # form_login: ~
        # http://symfony.com/doc/current/cookbook/security/form_login_setup.html

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 }
还有我的路线

app:
    resource: "@AppBundle/Controller/"
    type:     annotation

fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"

您必须在安全文件中指定登录路径

这是一个例子:

 firewalls:
        main:
            pattern: ^/
            form_login:
                login_path: fos_user_security_login
                check_path: fos_user_security_check
                provider: fos_userbundle
                csrf_provider: security.csrf.token_manager
                default_target_path: /

希望对您有所帮助

您必须在安全文件中指定登录路径

这是一个例子:

 firewalls:
        main:
            pattern: ^/
            form_login:
                login_path: fos_user_security_login
                check_path: fos_user_security_check
                provider: fos_userbundle
                csrf_provider: security.csrf.token_manager
                default_target_path: /

希望有帮助

现在当我再次单击注销时,它会给我带来相同的错误-找不到“GET/”(from)的路径对注销执行相同操作:注销:路径:/users/logout target:/刚刚执行的注销:路径:/users/logout target:/登录出现错误-您必须在安全防火墙配置中激活注销我刚刚更改了注销:路径:/user/logout,to注销:path:fos_user_security_logout..现在工作正常。现在唯一剩下的问题是注销选项似乎出现在登录页面本身。如何在用户主页上提供相同的注销链接?我认为您可以对您的选项进行if声明。检查用户是否使用twig{%if-app.user%}登录//显示注销选项{%else%}//显示登录选项{%endif%}。如果你知道我的意思,请尝试这样做,并告诉我它是否有效:)现在,当我再次单击注销时,它会给我相同的错误-找不到“GET/”(from)的路由对注销执行相同操作:注销:路径:/users/logout target:/刚刚执行的注销:路径:/users/logout target:/登录出现错误-您必须在安全防火墙配置中激活注销我刚刚更改了注销:路径:/user/logout,注销:路径:fos\u user\u security\u logout。。它现在运转良好。现在唯一剩下的问题是,注销选项似乎出现在登录页面本身上。如何在用户主页上提供相同的注销链接?好吧,我想你可以根据自己的选择做一个if声明。检查用户是否使用细枝{%if-app.user%}//显示注销选项{%else%}//显示登录选项{%endif%}登录。如果你知道我的意思,试着这样做,告诉我它是否有效:)