2014-10-03 2 views
1

우선 Symfony 2 전문가는 아니지만 심포니 SecurityBundle이 실제로 어떻게 작동하는지 이해하려고합니다.Symfony 2 Security Bundle이 커널 이벤트에 등록하는 방법

세션에서의 기본 구현은 커널 이벤트에 EventListener를 등록 할 수 있다는 문서를 보았습니다. 그런 다음 좀 더 복잡한 SecurityBundle을 살펴보기 시작했습니다. 그러나 security.yml 또는 Bundle 내부의 메서드를 사용하여 모든 이벤트를 등록 할 수는 없습니다. 번들 작동을 알고 있지만 요청 -> 응답 흐름을 바인딩하여 요청을 가로 채고 필터링하는 방법을 이해하고 싶습니다. 사전에

감사합니다 ...

심포니 보안 구성 요소가 요청 물론 단 하나의 커널 청취자를 보유하고 CERAD 코멘트에 말했듯이 "다양한 서비스와 등록이 서로 다른 수 있기 때문에 동적으로 수행됩니다
+1

인증 제공자는 Symfony 2의보다 복잡한 기능 중 하나입니다. 다양한 서비스와 등록은 서로 다를 수 있기 때문에 동적으로 수행됩니다 방화벽. 흥미로운 코드의 대부분은 SecurityBundle \ DependencyInjection에 있습니다. 모든 내용을 확인하려면 http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html을 읽어보십시오. 재미있는 것들. 마스터는 도전 할 만하지만 결국 가치가 있습니다. – Cerad

답변

1

(2)의 커스텀 리스너 (1), 커널 리스너의 정의가 SecurityBundle (3), app/config/security.yml에서 생성 서비스의 마술이 SecurityExtension에있다 " (4) of SecurityBundle.

기본적으로 비 심포니 프로젝트에서 symfony 보안을 통합하려면 AppKernel에 SecurityBundle을 추가해야합니다. 따라서 어려운 부분은 다른 시스템과 공존하는 AppKernel을 갖는 것입니다.

1 심포니 \ 부품 \ 보안 \의 HTTP 방화벽 \ \위한 listenerInterface (2) 심포니 \ 부품 \ 보안 \의 HTTP 방화벽 \ (3)/벤더/심포니/심포니/SRC/심포니/번들/SecurityBundle/Resources/config/security.xml (4) symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension

관련 문제