gpt4 book ai didi

php - Symfony 5 PHP8 安全属性

转载 作者:行者123 更新时间:2023-12-04 13:07:10 27 4
gpt4 key购买 nike

我有一个页面,我正在尝试将其从注释转换为 PHP8 属性。

namespace App\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

#[IsGranted('ROLE_ADMIN')]
#[Route('/page')]
class PageController extends AbstractController
{
#[Route('/', name: 'page')]
public function index(): Response
{
return $this->render('page/index.html.twig', [
'controller_name' => 'PageController',
]);
}
}

IsGranted 属性似乎不起作用,因为页面是可访问的而不是 403 错误。另一方面,当转换为注释时,如下所示,它按预期工作。是否缺少我的配置设置?

/**
* @IsGranted("ROLE_ADMIN")
*/
#[Route('/page')]
class PageController extends AbstractController
{
#[Route('/', name: 'page')]
public function index(): Response
{
return $this->render('page/index.html.twig', [
'controller_name' => 'PageController',
]);
}
}

其他属性,例如 #[Route]#[Entity] 等有效,但 Security 属性似乎不起作用。

最佳答案

SensioFrameworkExtraBundle 包中对 PHP8 属性的支持仅从版本 6.1.0 开始提供.您可能只需要更新它。

关于php - Symfony 5 PHP8 安全属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68853433/

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