2013-04-18 4 views
0

로그인 페이지로가는 모든 것을 안전하게하고 로그인으로 리디렉션해야하는 어플리케이션을 작성합니다. 나는 http://symfony.com/doc/master/book/security.html (일반적인 함정을 피하십시오 -> 로그인 페이지가 안전하지는 않은지 확인하십시오)에서 해결책을 찾으 셨지만 도움이되지 않습니다 - 제 요청이 여전히 무한 루프로 재 지정되고 있습니다. Symfony2 - 모든 것을 보호하십시오.

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    login: 
     pattern: ^/login$ 
     security: false 

    secured_area: 
     pattern: .* 
     anonymous: ~ 
     form_login: 
      login_path: login 
      check_path: login_validation 
      success_handler: authentication_handler 
     remember_me: 
      key:  "%secret%" 
      lifetime: 31536000 # 365 days in seconds 
      path: /
      domain: ~ # Defaults to the current domain from $_SERVER 

가 사전에 어떤 도움을 주셔서 감사합니다 :

여기 내 security.yml 파일의 firewalls 섹션입니다.

편집 : 물론 로그인 만하고 완전히 인증 된 사용자는 액세스 권한이 필요합니다.

+0

(이 경우 main에)이 방화벽에 의해 사로 잡았 firewall 이벤트가 발생합니다 두 번째 부분 (access_control 일을) 할 것 'access_control' 섹션은 어디에 있습니까? – cheesemacfly

+0

아직'access_control'이 없습니다. 그것은 비어 있습니다. –

답변

0

귀하의 수표 경로에도 익명 액세스를 허용해야한다고 생각합니다.

0

security.yml

firewalls: 
    main: 
    pattern: .* 
    form_login: 
    provider: fos_userbundle 
    csrf_provider: form.csrf_provider 
    default_target_path: /index #everything you want to redirect after login to 
    always_use_default_target_path: true 
    logout:  true 
    anonymous: true 
access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/.*, role: ROLE_USER } #is just a role example, change it 

속으로이

당신이 그리워 트릭을

+0

거의 트릭을했지만, 충돌 패턴'^ /. *'과'^/login $'은 여전히 ​​무한 루프로 뛰어 들었습니다.'^ /. *'를'^ ((?! 로그인) $'내 문제를 해결했습니다. –

+0

@ KamilSołtysik : 이것은 당신이 뭔가 잘못하고 있음을 알려줍니다. 이 구성은 완벽하게 작동합니다 (방금 테스트되었습니다) – DonCallisto

+0

@ KamilSołtysik : security.yml을 첨부 할 수 있습니까? 시작부터 끝까지. 이것은 당신이하고있는 일이 무엇인가 잘못되었다는 것을 알려주기 때문에 이것은 미래의 문제를 야기 할 수 있습니다. – DonCallisto

관련 문제