public function authenticate(TokenInterface $token) { $user = new User($token->getUsername(), null, array('ROLE_USER')); $casProviderEvent = new CasProviderEvent($user); $this->eventDispatcher->dispatch('cas.security.provider', $casProviderEvent); if ($casProviderEvent->isPropagationStopped()) { if ($casProviderEvent->hasAuthenticationException()) { throw $casProviderEvent->getAuthenticationException(); } } $authenticatedToken = new CasUserToken($casProviderEvent->getUser()->getRoles()); $authenticatedToken->setUser($casProviderEvent->getUser()); $authenticatedToken->setAuthenticated($casProviderEvent->isValidUser()); return $authenticatedToken; }