gpt4 book ai didi

php - 让@Security 注释优先于 ParamConverter

转载 作者:行者123 更新时间:2023-12-04 00:33:06 29 4
gpt4 key购买 nike

我有一个类似的 Action :

/**
* @Security("is_granted('ROLE_USER_EDITOR')")
* @Route("/{email}")
* @Method("GET")
*/
public function getAction(User $user)

问题是 ParamConverter 优先于 @Security注解。

如果我未获得授权并提供现有电子邮件,我将被重定向到登录页面。这是意料之中且正确的。
但是当我未经授权并提供不存在的电子邮件时,我收到 404 说 User找不到。

我认为授权检查比参数转换更重要。
我该如何让Security注释优先于参数转换器?

最佳答案

您可以通过添加 null 来避免获得 404默认值为 $user范围。

/**
* @Security("is_granted('ROLE_USER_EDITOR')")
* @Route("/{email}")
* @Method("GET")
*/
getAction(User $user = null) {
if ($user === null) {
return $this->createNotFoundException();
}
...
}

关于php - 让@Security 注释优先于 ParamConverter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48810600/

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