2017-05-10 4 views
0

FOSCommentBundle의 주석을 사용자 역할로 제한하기 위해 ACL을 구현하려고합니다. 번들 문서를 단계별로 따라했지만 오류가 표시됩니다."acl"에 대한 정의가 클래스가 없습니다.

"acl"에 대한 정의에는 클래스가 없습니다. 그게

내 응용 프로그램/설정/config.yml

fos_comment: 
db_driver: orm 
class: 
    model: 
     comment: BackEndBundle\Entity\Comment 
     thread: BackEndBundle\Entity\Thread 
     vote: BackEndBundle\Entity\Vote  

acl: true 
service: 
    acl: 
     thread: fos_comment.acl.thread.roles 
     comment: fos_comment.acl.comment.roles 
     vote: fos_comment.acl.vote.roles 
    manager: 
     thread: fos_comment.manager.thread.acl 
     comment: fos_comment.manager.comment.acl 
     vote: fos_comment.manager.vote.acl 

acl_roles: 
    comment: 
     create: IS_AUTHENTICATED_ANONYMOUSLY 
     view: IS_AUTHENTICATED_ANONYMOUSLY 
     edit: ROLE_ADMIN 
     delete: ROLE_ADMIN 
    thread: 
     create: IS_AUTHENTICATED_ANONYMOUSLY 
     view: IS_AUTHENTICATED_ANONYMOUSLY 
     edit: ROLE_ADMIN 
     delete: ROLE_ADMIN 
    vote: 
     create: IS_AUTHENTICATED_ANONYMOUSLY 
     view: IS_AUTHENTICATED_ANONYMOUSLY 
     edit: ROLE_ADMIN 
     delete: ROLE_ADMIN  
assetic: 
    bundles: [ "FOSCommentBundle" ] 
내가 symfony3이 ACL 내가 명령을 시도한 그래서 설치되어 있지 않았다고 생각하지만, 나에게 같은 오류 "ACL"에 대한 정의를 "제공

수업이 없습니다. " 내 응용 프로그램/설정/services.yml

parameters:  

services: 
    acl: 
     connection: default 

답변

1

당신은 응용 프로그램/설정/services.yml에 ACL 설정을 추가 할 필요가 없습니다 그게

. 이 경우 FOSCommentBundle 번들에는 서비스에 대한 자체 구성 파일이 있습니다.

그냥 작곡가를 통해 번들을 설치하고 추가 번들을 AppKernel.php

모든 위에서 수행 한 경우
$bundles = [ 
... 
new FOS\CommentBundle\FOSCommentBundle(), 
... 

로, 단지 응용 프로그램/설정/services.yml에서 acl: connection: default을 제거하고 작동합니다. bin\console debug:container fos_comment에서 사용할 수있는 FOSCommentBundle 서비스가 있는지 확인할 수 있습니다.

+0

감사합니다. 오류가 표시되지 않으며 좋아요. 하지만 여전히 편집 및 삭제 버튼을 보여주지 마십시오. 고마워요. – Pillow

관련 문제