symfony - 路由 "admin/login"不存在错误 Symfony2 + SonataAdminBundle

标签 symfony routing admin symfony-sonata sonata-admin

我按照教程设置 SonataAdminFosUer
FosUser 似乎可以正常连接和断开连接

但是对于奏鸣曲我无法访问
> my_host/web/app_dev.php/admin/dashboard当我尝试将防火墙重定向到:my_host/web/app_dev.php/admin/login
并引发错误:Route "admin/login" does not exist.
500 Internal Server Error - RouteNotFoundException

Routing.yml 看起来正确:

admin:
     resource: '@SonataAdminBundle/Resources/config/routing/sonata_admin.xml'
     prefix: /admin
_sonata_admin:
     resource: .
     type: sonata_admin
     prefix: /admin
soanata_user:
     resource: '@SonataUserBundle/Resources/config/routing/admin_security.xml'
     prefix: /admin[/xml]

配置文件:
sonata_block:
    default_contexts: [cms]
    blocks:
        sonata.admin.block.admin_list:
            contexts:   [admin]
        sonata.block.service.text:
        sonata.block.service.action:
        sonata.block.service.rss:
sonata_admin:
    title:      Admin Panel
    templates:
        ## default global templates
        layout:  SonataAdminBundle::standard_layout.html.twig
        ajax:    SonataAdminBundle::ajax_layout.html.twig
        ## default actions templates, should extend a global templates
        list:    SonataAdminBundle:CRUD:list.html.twig
        show:    SonataAdminBundle:CRUD:show.html.twig
        edit:    SonataAdminBundle:CRUD:edit.html.twig
fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Application\Sonata\UserBundle\Entity\User

安全.yml :
firewalls:
    admin:
        pattern:      /admin(.*)
        form_login:
            provider:       fos_userbundle
            login_path:     admin/login
            use_forward:    false
            check_path:     admin/login_check
            failure_path:   null
        logout:
            path:           /admin/logout
        anonymous:    true

        # defaut login area for standard users
        main:
            pattern:      .*
            form_login:
                provider:       fos_userbundle
                login_path:     /login
                use_forward:    false
                check_path:     /login_check
                failure_path:   null
            logout:       true
            anonymous:    true

    access_control:
             # URL of FOSUserBundle which need to be available to anonymous users
        - { path: ^/_wdt, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/_profiler, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }

        # -> custom access control for the admin area of the URL
        - { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/login-check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        # -> end

        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }

        # Secured part of the site
        # This config requires being logged for the whole site and having the admin role for the admin part.
        # Change these rules to adapt them to your needs
        - { path: ^/admin, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN] }
        - { path: ^/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }

php 应用程序/控制台路由:调试:
admin_sonata_user_group_show            ANY      /admin/sonata/user/group/{id}/show
admin_sonata_user_group_export          ANY      /admin/sonata/user/group/export
sonata_user_admin_security_login        ANY      /admin[/xml]/login
sonata_user_admin_security_check        ANY      /admin[/xml]/login_check
sonata_user_admin_security_logout       ANY      /admin[/xml]/logout

如果我有 IS_AUTHENTICATED_ANONYMOUSLY 进入角色:在线- { path: ^/admin, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN] }我可以访问admin/dashboard ,因为我没有重定向到admin/login,所以我认为这不是sonataBundle 的问题。

你有什么想法吗?

非常感谢。

最佳答案

您必须添加 routing information在您的 app/config/routing.yml

sonata_user:
    resource: '@SonataUserBundle/Resources/config/routing/admin_security.xml'
    prefix: /admin

关于symfony - 路由 "admin/login"不存在错误 Symfony2 + SonataAdminBundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13822926/

相关文章:

mysql - Doctrine :使用 count() 和 sum() 进行 1:n 关联的获取

php - 排序在 Knp 分页器中不起作用

asp.net-mvc - 路由到名称相同但参数不同的操作

php - 我应该把我的管理控制面板放在哪里?

python - 如何在多对多字段中自定义 django admin 搜索结果

php - 如何在API平台上保存与实体的嵌套关系

Symfony,在 Controller 中强制注销

ruby - 使用自定义主 ID 在 rails3 中进行路由

asp.net-mvc - 你如何处理可变数量的 MVC 路由?

css - 实现仅由一些人添加内容。 rails