diff --git a/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php b/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php index fd4353867f6aa..af20eaff7bb7f 100644 --- a/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php +++ b/src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php @@ -72,6 +72,7 @@ public function decide(TokenInterface $token, array $attributes, mixed $object = try { return $accessDecision->isGranted = $this->strategy->decide( $this->collectResults($token, $attributes, $object, $accessDecision) + , $accessDecision ); } finally { array_pop($this->accessDecisionStack); diff --git a/src/Symfony/Component/Security/Core/Authorization/Strategy/AccessDecisionStrategyInterface.php b/src/Symfony/Component/Security/Core/Authorization/Strategy/AccessDecisionStrategyInterface.php index 00238378a30fa..e228a8d92b282 100644 --- a/src/Symfony/Component/Security/Core/Authorization/Strategy/AccessDecisionStrategyInterface.php +++ b/src/Symfony/Component/Security/Core/Authorization/Strategy/AccessDecisionStrategyInterface.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Security\Core\Authorization\Strategy; +use Symfony\Component\Security\Core\Authorization\AccessDecision; + /** * A strategy for turning a stream of votes into a final decision. * @@ -21,5 +23,5 @@ interface AccessDecisionStrategyInterface /** * @param \Traversable $results */ - public function decide(\Traversable $results): bool; + public function decide(\Traversable $results, /* AccessDecision $accessDecision = null */): bool; } diff --git a/src/Symfony/Component/Security/Core/Authorization/Voter/Vote.php b/src/Symfony/Component/Security/Core/Authorization/Voter/Vote.php index e933c57d996ee..6b2dd17874d0c 100644 --- a/src/Symfony/Component/Security/Core/Authorization/Voter/Vote.php +++ b/src/Symfony/Component/Security/Core/Authorization/Voter/Vote.php @@ -28,6 +28,8 @@ class Vote */ public array $reasons = []; + public array|object|null $extraData = null; + public function addReason(string $reason): void { $this->reasons[] = $reason; diff --git a/src/Symfony/Component/Security/Core/CHANGELOG.md b/src/Symfony/Component/Security/Core/CHANGELOG.md index 128064166841f..81c6e89b5f258 100644 --- a/src/Symfony/Component/Security/Core/CHANGELOG.md +++ b/src/Symfony/Component/Security/Core/CHANGELOG.md @@ -11,6 +11,7 @@ CHANGELOG * Add ability for voters to explain their vote * Add support for voting on closures * Add `OAuth2User` with OAuth2 Access Token Introspection support for `OAuth2TokenHandler` + * Add extraData in Vote object and pass it to AccessStrategy 7.2 --- pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy