2013-08-24 2 views
1

mopa/wsse-authentication-bundle (WSSE 인증)과 함께 FOSRestbundle을 사용합니다.Symfony2 : 익명 경로에 액세스

모든 것이 잘 작동합니다 (인증 및 RESTful API). 하지만 하나의 특정 경로를 공개 (인증없이)로 만들고 싶습니다. 나는 다음과 같은 설정을 시도하지만 난 여전히 API/사용자 경로에 대한 403 개 금지 된 상태를 가져

^/API/사용자 :

경로는 내가 공개하고자합니다. 당신이 인증의 어떤 종류없이 모두에 액세스 할 수있는 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) 

답변

0

, 당신은 WSSE 인증에서 유지 생각할 수 있습니다. 이를 수행하기 위해 WSSE 인증을 적용하지 않을 URL 패턴을 지정할 수 있습니다. 예 : 아래 예제에서 "api/users /"와 같은 형식의 URL을 건너 뛰는 패턴을 지정했습니다. 나는 "패턴"

wsse_secured: 
      pattern: ^/api/[^users].* 
      wsse: 
       nonce_dir: null 
       lifetime: 300 
       provider: ***_users 
를 사용하여 "사용자"페이지에 대한 WSSE 인증을 건너 뛰도록 제안하고 짧은