gpt4 book ai didi

php - 带有自定义选民的 Symfony @Security 注释

转载 作者:可可西里 更新时间:2023-10-31 23:18:57 24 4
gpt4 key购买 nike

我编写了一个自定义投票器来检查用户是否是他正在尝试编辑的一本书的所有者。因此我使用“@Security”注解来保护 Controller :

@Security("is_granted('BookVoter::ATTRIBUTE_OWNER', book)")

这就是我希望 @Security 注释看起来像的样子,但它仅在我编写以下内容时有效:

@Security("is_granted('OWNER', book)")

我不想“硬编码”“OWNER”字符串,它在我的 BookVoter 中是一个常量。有什么想法可以实现吗?

问候。

最佳答案

您传递给 @Security 注释的是 Expression Language .

SensionFrameworkExtraBundle 为表达式语言(see here)提供is_granted 函数。

Expression Language 默认有一个 constant() 函数,所以你应该在你的情况下使用它:

@Security("is_granted(constant('\\Full\\Namespace\\To\\BookVoter::ATTRIBUTE_OWNER'), book)")

请注意,您应该使用完整的命名空间符号。

关于php - 带有自定义选民的 Symfony @Security 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31544697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com