Symfony2: доступ к анонимному пути

Я использую FOSRestbundle с mopa/wsse-authentication-bundle (аутентификация WSSE).

Все работает нормально (Аутентификация и RESTful API). Но я хочу сделать 1 конкретный путь общедоступным (без аутентификации).

Путь, который я хочу сделать общедоступным: ^/api/users

Я пробовал следующие настройки, но все еще получаю статус 403 Forbidden для пути API/пользователей. (security.yml)

    jms_security_extra:
            secure_all_services: false
            expressions: true

    security:
            encoders:
                    ***\UserBundle\Entity\User: plaintext

            role_hierarchy:
                    ROLE_USER:        [ROLE_API_USER]

            providers:
                    ***_users:
                            entity: { class: UserBundle:User }

            firewalls:
                    wsse_secured:
                            pattern:   ^/api
                            anonymous: true
                            stateless:  true
                            wsse:
                                    nonce_dir: null
                                    lifetime: 300
                                    provider: ***_users

            access_control:
                    - { path: ^/api/users, roles: IS_AUTHENTICATED_ANONYMOUSLY }
                    - { path: ^/(css|js), roles: IS_AUTHENTICATED_ANONYMOUSLY }
                    - { path: ^/(_wdt|_profiler)

person user1959328    schedule 24.08.2013    source источник


Ответы (1)


Если вы хотите сделать страницу api/users/ общедоступной, доступной для всех без какой-либо аутентификации, вы можете подумать об отказе от аутентификации WSSE. Для этого вы можете указать шаблон URL, для которого не будет применяться аутентификация WSSE. например в приведенном ниже примере я указал шаблон для пропуска URL-адресов, имеющих форму «api/users/».

Короче говоря, я предлагаю пропустить аутентификацию WSSE для страницы «пользователи», используя «шаблон»

wsse_secured:
            pattern:   ^/api/[^users].*
            wsse:
                 nonce_dir: null
                 lifetime: 300
                 provider: ***_users
person Rahul    schedule 20.01.2015