/** * @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)); }
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); }); }
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); }); }