mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 23:13:15 +00:00
Add BaseVoter and Authorization Service Provider
PLUG-112
This commit is contained in:
36
lib/Alchemy/Phrasea/Authorization/AuthorizationChecker.php
Normal file
36
lib/Alchemy/Phrasea/Authorization/AuthorizationChecker.php
Normal 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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user