【问题标题】:Doctrine Select Listener in SymfonySymfony 中的学说选择监听器
【发布时间】:2021-07-14 01:41:39
【问题描述】:

我在选择条目时在 Symfony 中获取监听器时遇到问题。 例如:

  • 一个项目有 2 个实体:用户和产品。
  • 产品归用户所有。
  • 3 种不同的用户角色:管理员、所有者和读者

我想添加一个监听器,它允许根据用户修改 DQL:

  • 如果用户具有管理员角色,则没有限制
  • 否则只能选择当前用户拥有的产品。

DQL Hooks 似乎在这里是正确的,但我发现在 Symfony 中没有实现它的文档

【问题讨论】:

    标签: symfony doctrine listener


    【解决方案1】:

    您可以在您的情况下使用Doctrine Filters 并将其注册到 Doctrine 捆绑包中(如果您使用它)请参阅Filters Configuration

    您还可以在自定义 Doctrine 过滤器中注入所需的服务(例如 Symfony 安全服务来检查用户权限)。

    【讨论】:

    • 非常感谢,这确实是正确的解决方案。尽管如此,PDO 不允许作为参数实体传递,例如 user... 并且必须为每个字符串添加单个信息
    • PDO 是什么意思?
    猜你喜欢
    • 2016-10-16
    • 2018-06-21
    • 2012-03-19
    • 2013-04-01
    • 2016-02-09
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    相关资源
    最近更新 更多