如何使用Symfony检查选民中的角色?
我尝试使用以下
$this->get('security.context')->isGranted('ROLE_ADMIN');
为此,我需要注入security.context
服务,这将触发循环引用。
$user->getRoles()
并检查角色'ROLE_ADMIN'是否正确
由$ user?答案 0 :(得分:0)
您可以尝试注入RoleHierarchyInterface,然后使用第3点。
答案 1 :(得分:0)
另外,您可以使用AccessDecisionManagerInterface
:
class UserCheckerSomething
{
private $decisionManager;
public function __construct(AccessDecisionManagerInterface $decisionManager)
{
$this->decisionManager = $decisionManager;
}
public function checkAccess(TokenInterface $token)
{
return $this->decisionManager->decide($token, ["ROLE_ADMIN"]);
}
}
将"@security.access.decision_manager"
注入服务:)