2012-12-11 19 views
5

ho seguito un tutorial per impostare SonataAdmin e FosUer
FosUser sembra a posto per la connessione e la disconnessionepercorso "admin/login" non esiste Errore Symfony2 + SonataAdminBundle

Tuttavia, per Sonata non posso accedere a
>my_host/web/app_dev.php/admin/dashboard
Quando provo il reindirizzamento firewall per: my_host/web/app_dev.php/admin/login

e lancia un errore:
Route "admin/login" does not exist.
500 Internal Server Error - RouteNotFoundException

routing.yml sembra corretto:

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

Se avessi IS_AUTHENTICATED_ANONYMOUSLY in ruolo:
alla linea - { path: ^/admin, role: [ROLE_ADMIN, ROLE_SONATA_ADMIN] }
posso accedere a admin/dashboard, perché io non sono reindirizzare a admin/login, quindi penso che non è un problema di sonataBundle.

Avete qualche idea?

Grazie mille.

+0

Anydoby mi può aiutare? – Morgan

+0

Hai mai risolto questo problema – Gowri

risposta

1

Ho avuto questo errore dopo una nuova installazione.

Per risolverlo modificare il app/config/routing.yml e scrittura prefix: /admin invece di prefix: /admin[/xml] sotto soanata_user:.

3

Bisogna aggiungere il routing information all'interno del vostro app/config/routing.yml

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