2012-06-29 1 views
1

나는 Symfony2를 처음 사용하며 맞춤 인증 공급자를 만들어야하므로 How to create a custom Authentication Provider을 읽습니다. 나는 모든 클래스, 또한 사용자 정의 사용자 How to create a custom User Provider에서 제공하지만 난이 예외를 얻고 만든 다음 요리 책에서 내가 복사Symfony2 : "맞춤 인증 공급자를 만드는 방법"동안 예외 발생

RuntimeException: The parent definition "wsse.security.authentication.provider" defined for definition "security.authentication.provider.wsse.wsse_secured" does not exist. 

/붙여 넣기 모든 클래스 및 구성 부품을 단지 내는, bundleName을 바 꾸었습니다.

+0

WSSE의 경우, 번들로 묶은 Symfony2 요리 책 기사 인 https://github.com/mjhapp/MjhWsseBundle을 참조하십시오. – richsage

+1

서비스 정의를 app/config/security.yml로 옮기려고 시도했지만 제대로 작동합니다. 튜토리얼에서 말하는 것처럼 번들/Resources/config/services.yml에 정의하면 작동하지 않는 이유는 모르겠다. – schmaun

+0

번들에 services.yml을로드하는 DIC가 있습니까? –

답변

5

- 같은 문제를 가진 사람들을 위해 내가 레자 Sanaie의 답변을 생각하지 않는다 의도 한 해결책. 번들에 /DependencieInjection/Security/{Vendor}{YourBundleName}Extension.php 파일이 있는지 확인해야합니다. 파일의 이름이 정확해야하고 symfony2 커널에 의해 자동으로 클래스가 실행됩니다. 이 파일의 클래스 코드로보고있는 경우 당신은 당신의 services.yml를로드

$loader->load('services.yml'); 

이 같은 것을 표시되고 문제가 해결되어야한다.

6

당신은 당신의 주요 응용 프로그램에서 번들에서 서비스 설정에 포함하도록 config.yml를 업데이트해야 위의 댓글에서 언급 한 바와 같이

# app/config/config.yml 
imports: 
    - { resource: @AcmeHelloBundle/Resources/config/services.yml } 
+0

OP가 이것을 올바른 것으로 받아 들였어야한다 - 매뉴얼이 막연한 멋진 빠른 대답. 올바른 구문을 사용하지만 올바른 구문이 무엇인지 나타내지는 않습니다. 대답은 매력처럼 작동합니다. – ghostposter

+0

죄송합니다, 내 질문에 대답 했어야 ... 그냥 방금 위의 의견으로 언급했다. 정답은 chsymann 또는 질문에 대한 저의 코멘트입니다. 문제는 _ {YourBundleName} Extension.php_ 파일이 누락되었습니다. – schmaun

+0

좋은 전화입니다. Extension 클래스를 중단 한 경우에는 정답입니다. – ghostposter