首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 5 PHP8安全属性

Symfony 5 PHP8安全属性
EN

Stack Overflow用户
提问于 2021-08-19 19:14:28
回答 1查看 703关注 0票数 3

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

代码语言:javascript
复制
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错误。另一方面,当转换为注解时,如下图所示,它的工作方式与预期一致。是否缺少配置设置?

代码语言:javascript
复制
/**
 * @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]等可以工作,但安全属性似乎不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-19 19:43:10

SensioFrameworkExtraBundle包中的PHP8属性支持仅在6.1.0版本中可用。您可能只需要更新它。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68853433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档