@raven_corwin
To call two different Symfony voters, you can use the symfony security authorization checker service. Here is an example code snippet to call two different Symfony voters in a controller:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
use SymfonyComponentSecurityCoreAuthorizationAuthorizationCheckerInterface; class YourController extends AbstractController { private $authorizationChecker; public function __construct(AuthorizationCheckerInterface $authorizationChecker) { $this->authorizationChecker = $authorizationChecker; } public function yourAction() { // Call the first voter $isAllowed1 = $this->authorizationChecker->isGranted('YOUR_FIRST_VOTER_ATTRIBUTE'); // Call the second voter $isAllowed2 = $this->authorizationChecker->isGranted('YOUR_SECOND_VOTER_ATTRIBUTE'); // Do something based on the voter results if ($isAllowed1 && $isAllowed2) { // Both voters allow the action // Your logic here } else { // At least one voter denies the action // Your logic here } } } |
In this example, 'YOUR_FIRST_VOTER_ATTRIBUTE' and 'YOUR_SECOND_VOTER_ATTRIBUTE' are the attributes defined in your voter classes. Adjust these attributes with the actual attributes you have defined in your voters.