2012-12-11 36 views
5

Tôi đi theo một hướng dẫn để thiết lập SonataAdminFosUer
FosUser dường như không quan trọng cho việc kết nối và ngắt kết nốiRoute "admin/đăng nhập" không tồn tại Lỗi Symfony2 + SonataAdminBundle

Tuy nhiên đối với Sonata tôi không thể truy cập để
>my_host/web/app_dev.php/admin/dashboard
Khi tôi cố gắng chuyển hướng tường lửa để: my_host/web/app_dev.php/admin/login

Và ném một lỗi:
Route "admin/login" does not exist.
500 Internal Server Error - RouteNotFoundException

routing.yml có vẻ đúng:

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] 

Config.yml:

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 

Security.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 ứng dụng/console tuyến đường: debug:

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 

Nếu tôi có IS_AUTHENTICATED_ANONYMOUSLY vào vai trò:
tại dòng - { path: ^/admin, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN] }
tôi có thể truy cập vào admin/dashboard, vì tôi không chuyển hướng đến admin/đăng nhập, vì vậy tôi nghĩ không phải là một vấn đề sonataBundle của.

Bạn có ý tưởng gì không?

Cảm ơn rất nhiều.

+0

Anydoby thể giúp tôi? – Morgan

+0

Bạn đã từng giải quyết vấn đề này chưa – Gowri

Trả lời

1

Tôi gặp lỗi này sau khi cài đặt mới.

Để giải quyết nó sửa đổi của bạn app/config/routing.yml và viết prefix: /admin thay vì prefix: /admin[/xml] dưới soanata_user:.

3

Bạn phải thêm routing information bên trong của bạn app/config/routing.yml

sonata_user: 
    resource: '@SonataUserBundle/Resources/config/routing/admin_security.xml' 
    prefix: /admin 
Các vấn đề liên quan