2012-10-12 10 views
8

Czy możemy użyć wyrażenia regularnego w kontroli dostępu w bezpieczeństwie symfony2?Czy możemy użyć wyrażenia regularnego w kontroli dostępu symfony2?

1) /foo/{id} -- [ROLE_ADMIN] 
2) /foo/{id}/profile -- [IS_AUTHENTICATED_ANONYMOUSLY] 

Kolejna kwestia:

Jeśli usunąłem access_control z mojego bezpieczeństwa, wciąż idzie do modułu bezpieczeństwa i spróbować Authenticate od Security/Authentication/Provider/AuthProvide.

Jakie powinno być idealne zachowanie? Myślę, że nie powinien uwierzytelniać zasobu, jeśli nie ma access_control w security.yml.

Moja konfiguracja zapory jest:

firewalls: 
    main: 
      pattern: ^/ 
      anonymous: true 
      myapp: true 

Odpowiedz

12

Tak, można użyć wyrażenia regularnego.

Ale /foo/{id}/profile nie pasuje do tego, co chcesz. Jak id jest prawdopodobnie liczbą całkowitą, będziesz musiał użyć zamiast:

^/foo/[0-9]+/profile$ 

lub

^/foo/[^/]+/profile$ 
+0

myślałem, że to nie działa, ale ja będąc trochę słabe i został udaremniony przez pierwszy pierwszeństwo kolejności routingu. Działa jako uczta! Pozdrowienia +1 –

Powiązane problemy