2012-12-11 8 views
5

ich ein Tutorial gefolgt einzurichten SonataAdmin und FosUer
FosUser scheint in Ordnung für die Verbindung und die TrennungStrecke „admin/login“ nicht Fehler Symfony2 + SonataAdminBundle existieren

jedoch für Sonata kann ich keinen Zugang zu
>my_host/web/app_dev.php/admin/dashboard
Wenn ich versuchen, die Firewall-Umleitung auf: einen Fehler my_host/web/app_dev.php/admin/login

und wirft:
Route "admin/login" does not exist.
500 Internal Server Error - RouteNotFoundException

routing.yml sieht richtig:

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 app/console Route: 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 

Wenn ich IS_AUTHENTICATED_ANONYMOUSLY in Rolle hatte:
in Zeile - { path: ^/admin, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN] }
Ich kann admin/dashboard zugreifen, weil ich nicht zu admin/Login umleiten, so dass ich glaube, kein Problem sonataBundle das ist.

Haben Sie eine Idee?

Vielen Dank.

+0

Anydoby hinzufügen kann mir helfen? – Morgan

+0

Haben Sie dieses Problem jemals gelöst? – Gowri

Antwort

1

Ich hatte diesen Fehler nach einer Neuinstallation zu.

beheben es ändern Sie Ihre app/config/routing.yml und schreiben prefix: /admin statt prefix: /admin[/xml] unter soanata_user:.

3

Sie haben die routing information in Ihrem app/config/routing.yml

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