Symfony2 проблема безопасности - PullRequest
1 голос
/ 23 марта 2011

Я собираюсь адаптировать свой веб-проект (на основе symfony2 PR5) к symfony2 PR7. С этим переносом все понятно, кроме пакета безопасности. Вот моя конфигурация безопасности:

security:
    encoders:
        Application\PermissionsBundle\Entity\Stuff: sha1
    providers:
        main:
            entity: { class: PermissionsBundle:Stuff, property: username}
    firewalls:
        main:
            pattern: .*
            form_login:
                check_path:   /login-check-admin
                login_path:   /login-admin
                failure_path: /login-admin
            logout:     true
            anonymous: true 
        backend:
            pattern: /admin.*
            form_login:
                check_path: /login-check-admin
                login_path: /login-admin
            logout: true
            security: true
            anonymous: false
    access_control:
        - { path: /admin.*, role: ROLE_ADMIN }

Конфигурация маршрутизации:

_security_login:
    pattern: /login-admin
    defaults: { _controller: PermissionsBundle:Security:login }

_security_check:
    pattern: /login-check-admin

_security_logout:
    pattern: /logout-admin

_security_status:
    pattern: /sec_status
    defaults: { _controller: PermissionsBundle:Security:status }

_security_get_username:
    pattern: /security/get/username
    defaults: { _controller: PermissionsBundle:Security:getUserName }

Когда я пытаюсь пройти аутентификацию, я получаю проверку входа 404 fpr: Выход Firebug: http://impic.ru/uploads/2011/2303/53849205_61601933.jpeg

Кто-нибудь может помочь мне с этой проблемой? Этот код прекрасно работает в PR5, но не в PR7. Официальная документация Symfony еще не изменилась. Может я что-то упустил?

1 Ответ

1 голос
/ 26 марта 2011

Решение простое. Вы не можете настроить шаблоны маршрутизации logout и login_check. Это означает, что ваш файл security.yml должен выглядеть так:

form_login:
    check_path:   /login_check
    login_path:   /login

и ваш файл routing.yml должен выглядеть следующим образом:

_security_check:
    pattern: /login_check
_security_logout:
    pattern: /logout

Они идеально подходят для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...