/** * manually login e.g for Tapatalk Extension * mtehod will be generate a cookie * @param type $username * @param type $password * @param \Symfony\Component\HttpFoundation\Request $request * @param type $providerKey * @param \Symfony\Component\HttpFoundation\Response $redirectResponse * @return boolean */ public function login($username, $password, \Symfony\Component\HttpFoundation\Request $request, $providerKey, \Symfony\Component\HttpFoundation\Response $redirectResponse) { $user = $this->findByUsername($username); $encoder = $this->securityFactory->getEncoder($user); $password2 = $encoder->encodePassword($password, $user->getSalt()); if ($user->getPassword() === $password2) { $token = new \Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken($user, $user->getPassword(), 'symbb', $user->getRoles()); $this->securityContext->setToken($token); $securityKey = 'myKey'; $random = new \Symfony\Component\Security\Core\Util\SecureRandom(); $persistenService = new \Symfony\Component\Security\Http\RememberMe\PersistentTokenBasedRememberMeServices(array($this), $providerKey, $securityKey, array('path' => '/', 'name' => 'REMEMBERME', 'domain' => null, 'secure' => false, 'httponly' => true, 'lifetime' => 31536000, 'always_remember_me' => true, 'remember_me_parameter' => '_remember_me'), null, $random); $persistenService->setTokenProvider(new \Symfony\Component\Security\Core\Authentication\RememberMe\InMemoryTokenProvider()); $persistenService->loginSuccess($request, $redirectResponse, $token); return true; } return false; }
public function addSecurityListenerFactory(SecurityFactoryInterface $factory) { $this->factories[$factory->getPosition()][] = $factory; }