我有一个页面,我正在尝试将其从注释转换为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]等可以工作,但安全属性似乎不起作用。
发布于 2021-08-19 19:43:10
SensioFrameworkExtraBundle包中的PHP8属性支持仅在6.1.0版本中可用。您可能只需要更新它。
https://stackoverflow.com/questions/68853433
复制相似问题