2013-08-24 109 views
1

我使用帶有mopa/wsse-authentication-bundle(WSSE認證)的FOSRestbundle。Symfony2:匿名訪問路徑

一切工作正常(身份驗證和RESTful API)。 但我想公開一個特定的路徑(沒有身份驗證)。

路上,我想公開:^/API /用戶

我試圖以下設置,但我仍然獲得了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

如果你想API /用戶/頁市民,是沒有任何一種認證的訪問給大家,你能想到的保持了WSSE認證的。爲此,您可以指定不適用WSSE身份驗證的url模式。例如在下面的例子中,我指定了一個模式來跳過形式爲「api/users /」的URL。

總之我建議跳過WSSE身份驗證使用「模式」

wsse_secured: 
      pattern: ^/api/[^users].* 
      wsse: 
       nonce_dir: null 
       lifetime: 300 
       provider: ***_users 
的「用戶」頁面