2013-08-05 6 views
0

Symfony에서 매우 기본적인 보안을 설정하려고합니다. 내 security.yml 파일에 다음 스 니펫이 있습니다.모든 URL을 허용하고 아무것도 차단하지 않는 symfony2 보안

firewalls: 
    secured_area: 
     pattern: ^/ 
     form_login: 
      check_path: /login_check 
      login_path: /login 
     logout: 
      path: /logout 
      target:/
     anonymous: ~ 
     #http_basic: 
     # realm: "Secured Demo Area" 

access_control: 
    - { path: ^/new, roles: ROLE_USER } 
    - { path: ^/create, roles: ROLE_USER } 

그러나 아직 인증되지 않은 채로 다음 URL : http://events.local/app_dev.php/event/new으로 갈 수 있습니다. 왜 이런 일이 일어날 지 모릅니다. ^/new 경로의 시작해야 함을 나타냅니다 이후

답변

1

^/new/event/new 일치하지 않습니다.

시도 ^/event/new, 나는 당신의 문제가 해결 될 것 같아요.

http://symfony.com/doc/current/book/security.html에서

: ^과 경로를 붙이는

는 패턴로 시작하는 URL 만 일치되도록합니다. 예를 들어, 단순히/admin (^ 표시가없는) 경로는/admin/foo와 정확하게 일치하지만/foo/admin과 같은 URL과도 일치합니다.

+0

Ah! 나는 그것을 몰랐다. 당신의 대답은 매력처럼 일했습니다. –