Beispiel #1
0
 /**
  * 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;
 }
Beispiel #2
0
 public function addSecurityListenerFactory(SecurityFactoryInterface $factory)
 {
     $this->factories[$factory->getPosition()][] = $factory;
 }