【发布时间】:2019-03-26 11:03:17
【问题描述】:
我使用 Symfony 4(更准确地说是 4.1)与 SonataAdminBundle 和 SonataMediaBundle。
这是我的config/routes/sonata_media.yaml:
sonata_media_gallery:
resource: '@SonataMediaBundle/Resources/config/routing/gallery.xml'
prefix: /media/gallery
sonata_media:
resource: '@SonataMediaBundle/Resources/config/routing/media.xml'
prefix: /media
如果我运行php bin/console debug:router,输出中有以下路线:
sonata_media_gallery_index ANY ANY ANY /media/gallery/
sonata_media_gallery_view ANY ANY ANY /media/gallery/view/{id}
sonata_media_view ANY ANY ANY /media/view/{id}/{format}
sonata_media_download ANY ANY ANY /media/download/{id}/{format}
前两条路线运行良好,但当我尝试其他两条路线时,例如:
http://localhost:8000/media/view/
http://localhost:8000/media/view/1/default
http://localhost:8000/media/download/1
http://localhost:8000/media/download/1/default
然后我总是得到 AccessDeniedException,即使我的身份验证为 ROLE_SUPER_ADMIN。
错误发生在vendor/sonata-project/media-bundle/src/Controller/MediaController.php、downloadAction 和viewAction。我在源代码中四处挖掘,但找不到引发异常的原因。
【问题讨论】:
标签: symfony symfony4 sonata-media-bundle symfony-routing