所以基本上我想创建类似@IsGranted. @IsGranted例如,我在我的应用程序上使用访问控制来防止简单用户访问管理页面。
在我的实体上,我有一个名为is_Active
如果为真 (1),则用户可以使用他的帐户
如果它是 false (0) 那么他会被重定向到一个错误页面!
在这种情况下,我不会在Roles用户现场进行测试,但我会在is_Active现场进行测试,这就是为什么我不能使用 @IsGranted.
我创建了一个错误的树枝页面并将其放在模板文件夹中,我发现自己被迫在每个active.html.twig控制器函数 上添加这两行。
if ($this->getUser()->getIsActive()==false) {
return $this->render('active.html.twig');}
这是一个例子:
/**
* @IsGranted("ROLE_ADMIN")
* @Route("/", name="user_index", methods={"GET"})
*/
public function index(UserRepository $userRepository): Response
{
if ($this->getUser()->getIsActive()==false) {
return $this->render('active.html.twig');}
return $this->render('user/index.html.twig', [
'users' => $userRepository->findAll(),
]);
}
在每个函数上添加这个 if 语句是非常繁重和糟糕的(我在应用程序上有 +30 个函数)
也许我可以创建类似的东西@IsGranted并在每个函数的注释上使用它?
叮当猫咪
慕姐4208626