示例#1
0
 public function logout()
 {
     $this->client->setServerParameters(array());
     $this->client->getCookieJar()->clear();
     $this->user = null;
     $this->pageEleveur = null;
 }
 /**
  *
  */
 protected function signInAsAdmin()
 {
     $session = $this->client->getContainer()->get('session');
     $firewall = 'main';
     $token = new UsernamePasswordToken('admin', null, $firewall, array('ROLE_ADMIN'));
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $this->client->getCookieJar()->set($cookie);
 }
 /**
  * @param User $user
  */
 protected function logIn(User $user)
 {
     $session = $this->client->getContainer()->get('session');
     $firewall = 'main';
     $token = new UsernamePasswordToken($user, null, $firewall, $user->getRoles());
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $this->client->getCookieJar()->set($cookie);
 }
 protected function logIn()
 {
     $session = $this->client->getContainer()->get('session');
     $userManager = $this->client->getContainer()->get('fos_user.user_manager');
     $user = $userManager->findUserByUsername('admin');
     $firewall = 'main';
     $token = new UsernamePasswordToken($user, null, $firewall, array('ROLE_ADMIN'));
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $this->client->getCookieJar()->set($cookie);
 }
 /**
  * @Given I am authenticated as :login
  */
 public function iAmAuthenticatedAs($login)
 {
     /** @var User $user */
     $user = $this->getContainer()->get('fos_user.user_manager')->findUserByUsername($login);
     $session = $this->client->getContainer()->get('session');
     $this->client->getCookieJar()->set(new Cookie($session->getName(), true));
     $firewall = 'main';
     $token = new UsernamePasswordToken($user, null, $firewall, $user->getRoles());
     $this->getContainer()->get('security.context')->setToken($token);
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $this->client->getCookieJar()->set($cookie);
 }
示例#6
0
 /**
  * Authenticate selected user.
  * If you want to test another firewall, look name for it
  * in the security.yml file for "context" value.
  *
  * @param $userName
  * @param $roles
  * @param null $firewallName
  * @return \FOS\UserBundle\Model\UserInterface
  */
 protected function authenticateUser($userName, $roles, $firewallName = null)
 {
     $session = $this->client->getContainer()->get('session');
     if (!$firewallName) {
         $firewallName = $this->getFirewallName();
     }
     $user = $this->container->get('fos_user.user_manager')->findUserByUsername($userName);
     $token = new UsernamePasswordToken($user, null, $firewallName, $roles);
     $session->set('_security_' . $firewallName, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $this->client->getCookieJar()->set($cookie);
     return $user;
 }
 /**
  * Log user with username
  */
 protected function logIn()
 {
     $container = $this->client->getContainer();
     $userManager = $container->get('fos_user.user_manager');
     $user = $userManager->findUserByUsername($this->username);
     $session = $this->client->getContainer()->get('session');
     $firewall = 'openorchestra';
     $token = new UsernamePasswordToken($user, null, $firewall, $user->getRoles());
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $container->get('fos_user.security.login_manager')->logInUser($firewall, $user);
     $cookie = new Cookie($session->getName(), $session->getId());
     $this->client->getCookieJar()->set($cookie);
 }
示例#8
0
 /**
  * Create settings cookies and set it in the cookie jar.
  *
  * @param Client $client
  * @param array  $cookies
  */
 public static function setSettingsCookie(Client $client, array $cookies)
 {
     foreach ($cookies as $name => $cookieSettings) {
         $cookie = new Cookie($name, json_encode($cookieSettings));
         $client->getCookieJar()->set($cookie);
     }
 }
 /**
  * Expires the authentication if these has been created
  *
  * @param Url $url Url
  *
  * @return $this Self object
  */
 protected function expireAuthentication(Url $url)
 {
     $session = $this->session;
     $session->remove('_security_' . $url->getOption('firewall'));
     $session->save();
     $this->client->getCookieJar()->expire($session->getName());
     return $this;
 }
示例#10
0
 /**
  * Do not use this method in dataProvider since they are called before setUp !
  */
 protected function logIn($nick)
 {
     $repo = $this->getService('social.netizen.repository');
     $user = $repo->findByNickname($nick);
     if (!is_null($user)) {
         $session = $this->client->getContainer()->get('session');
         $firewall = 'secured_area';
         $cred = $user->getCredential();
         $token = new Token($firewall, $cred->getProviderKey(), $cred->getUid(), $user->getRoles());
         $token->setUser($user);
         $session->set('_security_' . $firewall, serialize($token));
         $session->save();
         $cookie = new Cookie($session->getName(), $session->getId());
         $this->client->getCookieJar()->set($cookie);
         $this->getService('security.context')->setToken($token);
     }
 }
示例#11
0
 /**
  *
  * @param string $username
  * @param array $role
  */
 protected function logIn($username = null, $role = null)
 {
     $session = $this->client->getContainer()->get('session');
     $firewall = 'main';
     $user = $this->em->getRepository('OjsUserBundle:User')->findOneByUsername($username ? $username : '******');
     if (!$user) {
         $_role = $this->em->getRepository('OjsUserBundle:Role')->findOneByRole($role[0]);
         $user = $this->em->getRepository('OjsUserBundle:User')->findOneByRole($_role);
     }
     if (!$user instanceof UserInterface) {
         throw new \Exception("User not find. " . get_class($user));
     }
     $token = new UsernamePasswordToken($user, null, $firewall, $role ? $role : array('ROLE_SUPER_ADMIN'));
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $this->client->getCookieJar()->set($cookie);
 }
示例#12
0
 protected function adminLogIn(Client $client)
 {
     $session = $client->getContainer()->get('session');
     $firewall = 'secured_area';
     $token = new UsernamePasswordToken('admin', null, $firewall, array('ROLE_ADMIN'));
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $client->getCookieJar()->set($cookie);
 }
示例#13
0
 /**
  * @param mixed  $cookieValue
  * @param Cookie $oldCookie
  */
 private function setCookieAndAssertFail($cookieValue, $oldCookie)
 {
     // Set cookie.
     $newCookie = new \Symfony\Component\BrowserKit\Cookie('ongr_settings_user_auth', json_encode($cookieValue), $oldCookie->getExpiresTime(), $oldCookie->getPath(), $oldCookie->getDomain());
     $this->client->getCookieJar()->set($newCookie);
     // Visit login page.
     $crawler = $this->client->request('GET', '/settings/login');
     // Assert there is a form.
     $buttonNode = $crawler->selectButton('login_submit');
     $this->assertSame(1, $buttonNode->count(), 'There should be a form');
 }
示例#14
0
 /**
  * @param Client $client
  * @param string $token
  */
 public function loginIn(Client $client, $token)
 {
     $session = $client->getContainer()->get('session');
     $user = new User(new UserId('$token'), $token);
     $token = new BlockCypherUserToken($user, $token, 'blockcypher', array('ROLE_USER'));
     $firewall = 'secured_area';
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $client->getCookieJar()->set($cookie);
 }
示例#15
0
 /**
  * @param Client $client
  * @param string $username
  * @param string $password
  */
 protected function login($client, $username = null, $password = null)
 {
     $session = $client->getContainer()->get('session');
     // the firewall context (defaults to the firewall name)
     $firewall = 'secured_area';
     $token = new UsernamePasswordToken('root', "root", $firewall, array('ROLE_ADMIN'));
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $client->getCookieJar()->set($cookie);
 }
示例#16
0
 protected function logIn()
 {
     $session = $this->client->getContainer()->get('session');
     $userManager = $this->client->getContainer()->get('fos_user.user_manager');
     $user = $userManager->findUserByUsername('admin');
     if (!$user) {
         $user = $userManager->createUser();
         $user->setEmail('*****@*****.**');
         $user->setUsername('admin');
         $user->setPlainPassword('password');
         $user->setEnabled(true);
         $user->addRole('ROLE_ADMIN');
         $userManager->updateUser($user);
     }
     $firewall = 'main';
     $token = new UsernamePasswordToken($user, null, $firewall, array('ROLE_ADMIN'));
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $this->client->getCookieJar()->set($cookie);
 }
示例#17
0
 /**
  * Authenticate user on a given client using the given firewall or the `securityContext` default firewall.
  */
 public function authenticateUser(Client $client, $user, $credentials, array $roles = array(), $firewall = null)
 {
     $tokenStorage = $this->get('security.token_storage');
     $firewall = $firewall ?: $tokenStorage->getToken()->getProviderKey();
     $client->getCookieJar()->set(new Cookie(session_name(), true));
     // Bypass the `hasPreviousSession` check.
     $client->request('GET', '/');
     $token = new UsernamePasswordToken($user, $credentials, $firewall, $roles);
     $tokenStorage->setToken($token);
     $session = $client->getContainer()->get('session');
     $session->set(sprintf('_security_%s', $firewall), serialize($token));
     $session->save();
 }
示例#18
0
文件: TestCase.php 项目: Evrika/Vidal
 protected function logIn(Client $client)
 {
     $em = $client->getContainer()->get('doctrine')->getManager();
     $user = $em->getRepository('VidalMainBundle:User')->findOneByUsername('*****@*****.**');
     $session = $client->getContainer()->get('session');
     $firewall = 'everything';
     $token = new UsernamePasswordToken($user, null, $firewall, $user->getRoles());
     $token->setUser($user);
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $client->getCookieJar()->set($cookie);
 }
 public function testDeletePost()
 {
     $data = array('_csrf_token' => 'testtoken', 'content' => 'Test content', 'title' => 'test title');
     $this->client->getCookieJar()->set(new Cookie('cookie_csrf', 'testtoken'));
     $this->client->followRedirects(true);
     /** @var Crawler $crawler */
     $crawler = $this->jsonRequest('PUT', '/api/posts/1', $data);
     $this->assertJsonResponse($this->client->getResponse(), 201);
     $this->assertEmpty($this->client->getResponse()->getContent());
     /** @var Crawler $crawler */
     $crawler = $this->jsonRequest('DELETE', '/api/posts/1', $data);
     $this->assertEquals(204, $this->client->getResponse()->getStatusCode());
 }
 private function logClient(User $user, Client $client, $firewall = 'main')
 {
     $tokenStorage = $client->getContainer()->get('security.token_storage');
     $token = new UsernamePasswordToken($user, $user->getPlainPassword(), $firewall, $user->getRoles());
     $tokenStorage->setToken($token);
     //now we generate the cookie !
     //@see http://symfony.com/doc/current/cookbook/testing/simulating_authentication.html
     $session = $client->getContainer()->get('session');
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $client->getCookieJar()->set($cookie);
     return $client;
 }
 protected function requestLogin(Client $client)
 {
     $container = $client->getContainer();
     $session = $container->get('session');
     $userManager = $container->get('fos_user.user_manager');
     /* @var $userManager UserManager */
     $loginManager = $container->get('fos_user.security.login_manager');
     /* @var $loginManager LoginManager */
     $user = $userManager->findUserByUsername('ricky');
     $firewallName = $container->getParameter('fos_user.firewall_name');
     $loginManager->loginUser($firewallName, $user);
     $container->get('session')->set("_security_{$firewallName}", serialize($container->get('security.context')->getToken()));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $client->getCookieJar()->set($cookie);
 }
示例#22
0
 /**
  * Returns the CookieJar instance.
  *
  * @return CookieJar A CookieJar instance
  *
  * @api
  */
 public function getCookieJar()
 {
     return $this->subject->getCookieJar();
 }
 /**
  * @When /^I set a cookie "([^"]*)" to "([^"]*)"$/
  *
  * @param string $cookieName
  * @param string $cookieValue
  */
 public function iSetCookieTo($cookieName, $cookieValue)
 {
     $this->client->getCookieJar()->set(new BrowserKitCookie($cookieName, $cookieValue));
 }