Ejemplo n.º 1
0
 /**
  * @param ServiceReference $service
  * @param array            $arguments
  * @return bool
  */
 public function isGranted(ServiceReference $service, array $arguments)
 {
     if ($this->tokenStorage->getToken() === null) {
         return true;
     }
     $authorizationExpression = $service->getAuthorizationExpression();
     if (empty($authorizationExpression)) {
         return true;
     }
     return $this->language->evaluate($authorizationExpression, $this->getVariables($arguments));
 }
 /**
  * @dataProvider provider
  */
 public function testIsAuthenticated($token, $expression, $result, array $roles = array())
 {
     $anonymousTokenClass = 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\AnonymousToken';
     $rememberMeTokenClass = 'Symfony\\Component\\Security\\Core\\Authentication\\Token\\RememberMeToken';
     $expressionLanguage = new ExpressionLanguage();
     $trustResolver = new AuthenticationTrustResolver($anonymousTokenClass, $rememberMeTokenClass);
     $context = array();
     $context['trust_resolver'] = $trustResolver;
     $context['token'] = $token;
     $context['roles'] = $roles;
     $this->assertEquals($result, $expressionLanguage->evaluate($expression, $context));
 }
Ejemplo n.º 3
0
 protected function registerFunctions()
 {
     parent::registerFunctions();
     $this->register('is_granted', function ($attributes, $object = null) {
         return '$security_context->isGranted($attributes, $object)';
     }, function (array $variables, $attributes, $object = null) {
         return $variables['security_context']->isGranted($attributes, $object);
     });
 }
Ejemplo n.º 4
0
 protected function registerFunctions()
 {
     parent::registerFunctions();
     $this->register('is_granted', function ($attributes, $object = 'null') {
         return sprintf('$auth_checker->isGranted(%s, %s)', $attributes, $object);
     }, function (array $variables, $attributes, $object = null) {
         return $variables['auth_checker']->isGranted($attributes, $object);
     });
 }