Symfony2:路由器未使用正确的控制器


Symfony2 : Router is not using the correct controller

我是Symfony2的新手,我尝试使用FOSUserBundle。然而,/login-url不是使用正确的控制器,而是我以前使用的旧控制器:

"OC''UserBundle''Controller''SecurityController::loginAction"

Symfony剖析器路由工具告诉我为/login-patter:找到了道路"fos_user_security_login"

fos_user_security_login        /login         Route matches!

但剖析器主页也告诉我:

Request Attributes
Key Value
_controller "OC''UserBundle''Controller''SecurityController::loginAction"
_route      "fos_user_security_login"

我检查了10多次,但在路由和安全文件等任何文件中都找不到对旧控制器的任何引用,除了在缓存中(使用phpStorm高级搜索功能)。当然,我使用以下命令清除了缓存:

应用程序/控制台缓存:清除

你知道这可能是从哪里来的吗?

这是我的路由和安全文件:

vendor/friendsofsymfony/user-bundle/Resources/config/routing/security.xml

(在这里我们可以看到这是应该使用的FOSUserBundle:Security:登录控制器)

<routes xmlns="http://symfony.com/schema/routing"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
    <route id="fos_user_security_login" pattern="/login">
        <default key="_controller">FOSUserBundle:Security:login</default>
    </route>
    <route id="fos_user_security_check" pattern="/login_check">
        <default key="_controller">FOSUserBundle:Security:check</default>
        <requirement key="_method">POST</requirement>
    </route>
    <route id="fos_user_security_logout" pattern="/logout">
        <default key="_controller">FOSUserBundle:Security:logout</default>
    </route>
</routes>

app/config/routing.yml

oc_platform:
    resource: "@OCPlatformBundle/Resources/config/routing.yml"
    prefix:   /
app:
    resource: "@AppBundle/Controller/"
    type:     annotation

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/config/security.yml

security:
    encoders:
        OC'UserBundle'Entity'User: sha512
    role_hierarchy:
        ROLE_ADMIN:       [ROLE_TESTEUR, ROLE_MODERATEUR]
        ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
    providers:
        main:
            id: fos_user.user_provider.username

    firewalls:
        main_login:
            pattern: ^/login$
            anonymous: true
        main:
            pattern: ^/
            anonymous: true
            provider: main
            form_login:
                login_path: fos_user_security_login
                check_path: fos_user_security_check
            logout:
                path: fos_user_security_logout
                target: /
            remember_me:
                key: %secret%

        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        login:
            security: false
        secured_areas:
            anonymous: ~


    access_control:
        - { path: ^/demo/secured/hello/admin/, roles: ROLE_ADMIN }
        #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }

src/OC/PlatformBundle/Resources/config/routing.yml

oc_platform_homepage:
    path:     /hello/{name}
    defaults: { _controller: OCUserBundle:Default:index }

oc_affiche:
    path:     /hello-world
    defaults: { _controller: OCPlatformBundle:Default:affiche }

oc_home:
    path: /
    defaults: { _controller: OCPlatformBundle:Test:home }
oc_form_show:
    path: /addTest
    defaults: { _controller: OCPlatformBundle:Test:add }
oc_platform_test_view:
    path: /viewTest/{id}
    defaults: { _controller: OCPlatformBundle:Test:view }
oc_platform_test_viewAll:
    path: /viewTest
    defaults: { _controller: OCPlatformBundle:Test:viewAll }

oc_platform_test_user:
    path: /viewUser
    defaults: { _controller: OCPlatformBundle:Test:viewUser }
oc_platform_test_admin:
    path: /viewAdmin
    defaults: { _controller: OCPlatformBundle:Test:viewAdmin }

猜测,您已经在@OCPlatformBundle/Resources/config/routing.yml中映射了一条路由。