public function isAuthorized(Request $request) { $uri = $request->getUri(); foreach ($this->rules as $rule) { $regex = '#' . $rule->getPath() . '#'; if (preg_match($regex, $uri)) { if ($rule->hasRole('ANONYMOUS')) { return true; } $authInfo = $this->authenticator->getAuthInfo(); if ($authInfo['authenticated']) { if ($rule->hasRole('IS_AUTHENTICATED')) { return true; } foreach ($authInfo['roles'] as $role) { if ($rule->hasRole($role)) { return true; } } } } } return false; }