Symfony2.5 + FOSUserBundle 检查路径显然没有找到

2024-02-19

我启动了一个新的 Symfony 应用程序,在其中使用 FOSUserBundle。 我安装了它,加载了捆绑包并配置了它。 这是我的configuration.yml:

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Myapp\UserBundle\Entity\User

and my security.yml:

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

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username
        in_memory:
            memory: ~

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

        default:
            anonymous: ~

        main:
            pattern: ^/
            form_login:
                login_path: fos_user_security_login
                check_path: fos_user_security_check
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
                default_target_path: /
            logout:       true
            anonymous:    true

    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 }

现在,当我去localhost/myapp/web/app_dev.php/login,我尝试登录后收到以下错误 500(访问登录表单没有问题,这是在我提交后出现的):

您必须在安全防火墙配置中使用 form_login 配置要由防火墙处理的检查路径

在我看来,这form_login在我的安全防火墙配置中进行了配置...我缺少什么?


我认为您没有导入 FOSUserBundle 的路由文件。你是否?

如果没有,您可以这样做:

http://symfony.com/doc/current/bundles/FOSUserBundle/index.html#step-6-import-fosuserbundle-routing-files http://symfony.com/doc/current/bundles/FOSUserBundle/index.html#step-6-import-fosuserbundle-routing-files

除此之外,这样做的目的是什么default防火墙?当它试图“找到要使用的正确防火墙”时,它可能会拦截安全组件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony2.5 + FOSUserBundle 检查路径显然没有找到 的相关文章

随机推荐