Add BaseVoter and Authorization Service Provider

PLUG-112
This commit is contained in:
Benoît Burnichon
2015-09-14 22:49:26 +02:00
parent c808e8a923
commit d9604ae300
6 changed files with 180 additions and 9 deletions

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of Phraseanet
*
* (c) 2005-2015 Alchemy
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Alchemy\Phrasea\Authorization;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\Security\Core\Authorization\AccessDecisionManager;
class AuthorizationChecker
{
/** @var AccessDecisionManager */
private $accessDecisionManager;
/** @var TokenInterface */
private $token;
public function __construct(AccessDecisionManager $accessDecisionManager, TokenInterface $token)
{
$this->accessDecisionManager = $accessDecisionManager;
$this->token = $token;
}
public function isGranted($attributes, $object = null)
{
if (!is_array($attributes)) {
$attributes = [$attributes];
}
return $this->accessDecisionManager->decide($this->token, $attributes, $object);
}
}