2013-06-10 5 views
1

어쩌면 바보 같은 질문이지만 SonataUser를 사용자 정의하기 위해 easyExtends을 사용했으며 보안 컨텍스트를 Admin 클래스에 주입하려고합니다.Sonata User - Admin 클래스로 securityContext 주입

그러나 내 확장 기능에는 서비스 정의가 없으며 공급 업체에서도이 기능이 표시되지 않습니다.

그래서 질문은 매우 간단합니다 :

어떻게 내 연장 SonataUser 관리자의 클래스의 SecurityContext에 주입하는?

+0

다른 해결책 http://stackoverflow.com/a/25258001/260389 – Chango

답변

4

내 질문에 전혀 응답이없는 주 검색 후
마침내 SonataAdmin 서비스 정의 예제를 발견했습니다.

여기에 나의 모습입니다 :

services: 
    sonata.admin.user: 
     class: Application\Sonata\UserBundle\Admin\Entity\UserAdmin 
     tags: 
      - {name: sonata.admin, manager_type: orm, group: user, label: users} 
     arguments: 
      - null 
      - Application\Sonata\UserBundle\Entity\User 
      - 'SonataAdminBundle:CRUD' 
     calls: 
      - [setTranslationDomain, [MyProjectBundle]] 
      - [setUserManager, ['@fos_user.user_manager']] 
      - [setSecurityContext, ['@security.context']] 

은 분명히 setSecurityContext()는 관리 클래스로 구현되어야한다.

+0

['security.context' 서비스는 제공되지 않습니다.] (http://symfony.com/blog/new-in-symfony-2- 6 보안 구성 요소 개선) Symfony 2.6부터. 기록을 위해 나는 개인적으로 SonataAdmin을 더 이상 사용하지 않으므로 내 엉덩이에 큰 고통을 없애고 ... –

관련 문제