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