2014-01-14 5 views
0

МЫС security.yml приведен ниже ..Symfony2 выход из системы issue2

security: 
    encoders: 
     Acme\HelloBundle\Entity\User: 
      algorithm:  sha1 
      encode_as_base64: false 
      iterations:  1 

role_hierarchy: 
    ROLE_ADMIN:  ROLE_USER 
    ROLE_SUPER_ADMIN: [ ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ] 

providers: 
    administrators: 
     entity: { class: AcmeHelloBundle:User, property: username } 

firewalls: 
    secured_area: 
     pattern: ^/ual_courses 
     logout: 
      path: /logout 
      target: /ual 
     http_basic: ~  

access_control: 
    - { path: ^/ual_courses, roles: ROLE_USER } 

При попытке выхода из системы с помощью «xyz.com/symfonyproject/test/web/app_dev.php/logout» это не выход из системы и показывает сообщение об ошибке «Нет маршрут найден для„GET/выхода из системы“. где проблема ??

routing.yml

acme_hello_test: 
    path: /ual 
    defaults: { _controller: AcmeHelloBundle:Hello:index} 
acme_hello_static: 
    path: /privacy 
    defaults: 
     _controller: FrameworkBundle:Template:template 
     template: 'AcmeHelloBundle:Static:privacy.html.twig' 
acme_hello_redirect: 
    path: /redirect 
    defaults: {_controller: AcmeHelloBundle:Hello:change} 

AcmeHelloBundle_ual_courses: 
     resource: "@AcmeHelloBundle/Resources/config/routing/courses.yml" 
     prefix: /ual_courses 

logout: 
    path: /logout 

ответ

0

Какую версию Symfony вы бежите? Вам нужно определить конкретный/маршрут выхода начиная с 2,1

Обратите внимание, что вам не нужно будет внедрять контроллер для URL-адреса/выхода, поскольку брандмауэр заботится обо всем. Вы, однако, необходимо создать маршрут, так что вы можете использовать его, чтобы сформировать корректную ссылку

см this paragraph of symfony firewall documentation для получения дополнительной информации.

Редактировать

Убедитесь, что выход из системы маршрут находится за брандмауэром. См. avoid common pitfall поваренной книги.

Ваш брандмауэр только улавливает шаблоны, начинающиеся с/ual_courses, поэтому не включает/выходит из системы. Попытайтесь с:

firewalls: 
    secured_area: 
     pattern: ^/* 
    #http_basic: ~ 

Обратите внимание, что http_basic прокомментирован.

+0

Привет, я использую symfony 2.4.1 и добавляю выход из пути в файл app/config routing.yml Выход из системы: pattern:/logout теперь отображается следующая ошибка Не удается найти контроллер для пути/выхода из системы. Возможно, вы забыли добавить соответствующий маршрут в свою конфигурацию маршрутизации. – Tushar

+0

Заменить «pattern» на «path» в вашем файле app/config/routing.yml. – np87

+0

. Привет. Я изменил его, но все еще показываю ту же проблему. – Tushar

Смежные вопросы