"acl" 的定义没有 class
The definition for "acl" has no class
我正在尝试实施 ACL 以限制用户角色对 FOSCommentBundle 的评论。
我一步一步地按照 Bundles Doc 进行操作,但显示了一个错误:
"acl" 的定义没有 class。
那是我的 app/config/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" 的定义没有 class”。
那是我的 app/config/services.yml
parameters:
services:
acl:
connection: default
您不必将 ACL 配置添加到 app/config/services.yml。本例中的捆绑包 FOSCommentBundle 有自己的服务配置文件。
只需通过 Composer 安装捆绑包并将捆绑包添加到 AppKernel.php
$bundles = [
...
new FOS\CommentBundle\FOSCommentBundle(),
...
如果您已完成上述所有操作,只需从 app/config/services.yml 中删除 acl: connection: default
即可,它应该可以工作。您可以通过 bin\console debug:container fos_comment
.
检查是否有可用的 FOSCommentBundle 服务
我正在尝试实施 ACL 以限制用户角色对 FOSCommentBundle 的评论。 我一步一步地按照 Bundles Doc 进行操作,但显示了一个错误:
"acl" 的定义没有 class。
那是我的 app/config/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" 的定义没有 class”。
那是我的 app/config/services.yml
parameters:
services:
acl:
connection: default
您不必将 ACL 配置添加到 app/config/services.yml。本例中的捆绑包 FOSCommentBundle 有自己的服务配置文件。
只需通过 Composer 安装捆绑包并将捆绑包添加到 AppKernel.php
$bundles = [
...
new FOS\CommentBundle\FOSCommentBundle(),
...
如果您已完成上述所有操作,只需从 app/config/services.yml 中删除 acl: connection: default
即可,它应该可以工作。您可以通过 bin\console debug:container fos_comment
.