2013-03-12 1 views
4

보안되지 않은 페이지에서 현재 로그인 한 사용자를 얻는 방법은 무엇입니까?symfony 2 : 방화벽을 통해 보안되지 않은 페이지에 현재 로그인 한 사용자를 얻으십시오.

방화벽을 통해 보안 설정되는/account/page 만 있고 다른 페이지는 보호되지 않습니다.

{% if app.user %} 
    <a href="/account/data">... 
    <a href="/logout>... 
{% else %} 
    <a href="/account/login">.... 
{% endif %} 

문제 :

내 글로벌 탐색은 다음과 같은 템플릿 (간체)가 너무 보안되지 않은 페이지에 액세스 할 수 있어야 로그 아웃 링크 탐색을하지만 ... 더 UsernamePasswordToken이없고 심포니는 표시 로그인 링크 대신/logout 및/account/data 링크가 필요합니다. 익명 수신기로 다른 모든 페이지를 구성했지만 제대로 작동하지 않습니다.

거기에 해결책이 있습니까?

답변

8

방화벽이없는 페이지에서는 사용자를 얻을 수 없습니다. 익명 액세스를 허용하고 access_control :

security: 
    firewalls: 
     main: 
      pattern: ^/ 
      anonymous: ~ 

    access_control: 
     - { path: ^/protected, roles: ROLE_SOME } 
+0

으로 전체 앱에 방화벽을 설정하고 감사합니다. 이제 완벽하게 작동합니다. – user1739413

관련 문제