2014-07-09 4 views
4

Zend 1 앱을 Symfony 2로 마이그레이션하는 중 일하고 있습니다.이 작업을 무해하게 수행하는 방법을 찾아 냈습니다. 다음 SF2 번들을 찾았습니다 : https://github.com/mainlycode/Zf1WrapperBundle. 내가 설치 한, 구성 지침을 따라, 내 젠드 애플 리케이션을 복사/벤더/젠드 모든 일을 꽤 잘하고있다. 이전 로그인 경로를 탐색 할 때 SF2에서이를 이해하지 못하고 Zend에 대한 응답을 요청하면 로그인 양식이 나타납니다. 로그인 할 수 있고 사이트의 정식 버전이 올바르게 표시됩니다.Zend 1을 Symfony 2로 랩핑하십시오. 세션을 공유하는 방법은 무엇입니까?

이제 사용자가 인증을 받아야하는 기능을 개선하려고합니다. 그래서 저는 BackendBundle이라는 새로운 SF2 번들을 만들었습니다. 그것은 내 컨트롤러에이 시도 :

$securityContext = $this->container->get('security.context'); 
if($securityContext->isGranted('IS_AUTHENTICATED_REMEMBERED')){ 
    echo 'AUTHED'; 
} 

그러나 나는 다음과 같은 오류 얻을 : 나는 완전히 이유를 이해

The security context contains no authentication token. One possible reason may be that there is no firewall configured for this URL. 

합니다. 하지만 젠드와 SF2 사이의 인증을 "공유"할 수있는 방법을 모른다. 제안 사항이 있으십니까?

답변

0

내 첫 번째 추측은 세션을 공유하는 것 (비슷한 SessionHandler를 사용하기 위해 ZF와 Sf2를 모두 구성)이지만 Sf2는 세션 정보를 ZF가 쉽게 지원하지 않는 매우 구체적인 방식으로 저장합니다.

하지만 ZF 세션을 읽은 Sf2 RequestListener를 만들고 그 안에 인증 토큰을 찾은 다음 Sf2 인증 토큰을 만들어서 SecurityContext에 주입하는 방법을 시도해 볼 수 있습니다.

그 점에 대해 어떻게 생각하십니까?

관련 문제