2013-08-24 3 views
1

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

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

Путь я хочу, чтобы общественность: ^/API/пользователей

Я попытался следующие настройки, но я все еще получаю 403 Запретный статус АНИ пути/пользователей. (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) 

ответ

0

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

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

wsse_secured: 
      pattern: ^/api/[^users].* 
      wsse: 
       nonce_dir: null 
       lifetime: 300 
       provider: ***_users 
Смежные вопросы