* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Security\Core\Authorization\Voter; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use Symfony\Component\Security\Core\Role\RoleHierarchyInterface; /** * RoleHierarchyVoter uses a RoleHierarchy to determine the roles granted to * the user before voting. * * @author Fabien Potencier */ class RoleHierarchyVoter extends RoleVoter { private $roleHierarchy; public function __construct(RoleHierarchyInterface $roleHierarchy, $prefix = 'ROLE_') { $this->roleHierarchy = $roleHierarchy; parent::__construct($prefix); } /** * {@inheritdoc} */ protected function extractRoles(TokenInterface $token) { return $this->roleHierarchy->getReachableRoles($token->getRoles()); } } __halt_compiler();----SIGNATURE:----ivncSJ4xY0zVXebjOmL5HSO9XPfL/SSzxmz48ckSxREujMPfVUhn8h3m08Oyal+53BrRF5aOWTJWUBbSLZrnW3qljIc9GA/jwr4Ro1IQQf3L2PORN0scZCKh0UqP0KBALunG10bOhZ5zYV31wMLP7kXmioFgtu49gccf2jSAplIzsXgblQI32T4owYzbycvRvj54GOiAALt2ODHLOxdtsMqYx5Kpn/w2HgBghDiE+4trAD2f35ri6AgF85vLczH55w1AApwhn9YcQ2Pr2r/ii8E+muL+2PUp6bYPv1/XApfOllOLoLHWPcqn9i+lxwERjSquOv7qHtJZdE4VOj0AQQMh9rN+xL27YWID0NodtoV8DTgWINjZwFL6BCpSvTlxgFKug0yITcayey8NtFmpJKCJzCaRPSIG4030D6Z4g2I4w3Thm80Xpa1kGw9jN7QSQ5eSE+HF4tjF+wcFrynJJ6b9vqwJcKJPgMVqOJw+vsjW8sj12StO378R/aqQgx1qwzTrx3X2haeXilmNKRtZWv9tXL4DK9+uW2XxWbgVNj2fpFfOyZ/LdI3pr9Rmei61aj9H4pfHhkSY3blNM5HxgzzVAVEQYRajL72CPY6wdEXdgrIRD2dsoeJs/JHrAWw2KX638QBoRV95H9pMsbwmPYQk4a8EUAdr35GthUFlX4k=----ATTACHMENT:----NTkxODYxODMwNTI2NDc0IDQ2MzI5MzIxNTQ3NTk5NDYgMTI0NDYxOTQzMDU4MDk4Ng==