Exemplo n.º 1
0
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $u = new User();
     $u->setEmail('*****@*****.**');
     $u->setPassword(md5('password'));
     $u->setName('Admin User');
     $manager->persist($u);
     $this->addReference('adminuser', $u);
     $u = new User();
     $u->setEmail('*****@*****.**');
     $u->setPassword(md5('password'));
     $u->setName('Test User 1');
     $manager->persist($u);
     $this->addReference('testuser1', $u);
     $u = new User();
     $u->setEmail('*****@*****.**');
     $u->setPassword(md5('password'));
     $u->setName('Test User 2');
     $manager->persist($u);
     $this->addReference('testuser2', $u);
     $u = new User();
     $u->setEmail('*****@*****.**');
     $u->setPassword(md5('password'));
     $u->setName('Society 1 Admin');
     $manager->persist($u);
     $this->addReference('society1adminuser', $u);
     $manager->flush();
 }
Exemplo n.º 2
0
 public function setUp()
 {
     $this->aclProvider = $this->getMockBuilder('\\Acts\\CamdramSecurityBundle\\Security\\Acl\\AclProvider')->disableOriginalConstructor()->getMock();
     $this->voter = new ShowVoter($this->aclProvider);
     $this->user = new User();
     $this->token = new UsernamePasswordToken($this->user, 'password', 'public', $this->user->getRoles());
 }
 public function aceExists(User $user, OwnableInterface $entity)
 {
     $qb = $this->createQueryBuilder('e');
     $query = $qb->select('COUNT(e.id) AS c')->where('e.userId = :uid')->andWhere('e.entityId = :entityId')->andWhere('e.revokedBy IS NULL')->andWhere('e.type = :type')->setParameter('entityId', $entity->getId())->setParameter('type', $entity->getAceType())->setParameter('uid', $user->getId());
     $res = $query->getQuery()->getOneOrNullResult();
     return $res['c'] > 0;
 }
Exemplo n.º 4
0
 protected function generate(User $user, $salt)
 {
     $string = $user->getEmail() . $user->getPassword() . $this->secret . $salt;
     for ($i = 1; $i < 100; $i++) {
         $digest = hash('sha256', $string, true);
     }
     return bin2hex($digest);
 }
Exemplo n.º 5
0
 public function updateAccessToken(User $user, $service, $access_token)
 {
     $s = $user->getIdentityByServiceName($service);
     if ($s) {
         $s->loadAccessToken($access_token);
         $this->em->flush();
     }
 }
Exemplo n.º 6
0
 public function createUser($name, $email)
 {
     $user = new User();
     $user->setName($name)->setEmail($email)->setPassword('kdsfsdf');
     $em = $this->getEntityManager();
     $em->persist($user);
     $em->flush();
     return $user;
 }
Exemplo n.º 7
0
 private function getEditorUser()
 {
     $user = new User();
     $ace = new AccessControlEntry();
     $ace->setType('security');
     $ace->setEntityId(AccessControlEntry::LEVEL_CONTENT_ADMIN);
     $ace->setGrantedBy(new User());
     $user->addAce($ace);
     return $user;
 }
Exemplo n.º 8
0
 /**
  * Delete any pending access tokens given to this user, and grant access to
  * those resources in turn.
  */
 public function postPersist(User $user, LifecycleEventArgs $event)
 {
     $pending_aces = $this->entityManager->getRepository('ActsCamdramSecurityBundle:PendingAccess')->findByEmail($user->getEmail());
     foreach ($pending_aces as $pending) {
         $ace = new AccessControlEntry();
         $ace->setUser($user)->setEntityId($pending->getRid())->setCreatedAt(new \DateTime())->setGrantedBy($pending->getIssuer())->setGrantedAt(new \DateTime())->setType($pending->getType());
         $this->entityManager->persist($ace);
         $this->entityManager->remove($pending);
     }
     $this->entityManager->flush();
 }
Exemplo n.º 9
0
 private function generateIdentity(User $user, $service, $username, OutputInterface $output)
 {
     $em = $this->getContainer()->get('doctrine.orm.entity_manager');
     if (is_null($user->getExternalUserByService($service))) {
         $e = new ExternalUser();
         $e->setService($service)->setUser($user)->setName($user->getName())->setEmail($user->getEmail())->setUsername($username);
         $user->addExternalUser($e);
         $em->persist($e);
         $output->writeln('Generated ' . ucfirst($service) . ' external user for ' . $user->getName());
     }
 }
Exemplo n.º 10
0
 public function getAuthoriseUser()
 {
     if (!$this->authorise_user) {
         $user = new User();
         $user->setName('Authorise User')->setEmail('*****@*****.**');
         $em = $this->getEntityManager();
         $em->persist($user);
         $em->flush();
         $this->authorise_user = $user;
     }
     return $this->authorise_user;
 }
Exemplo n.º 11
0
 /**
  * @Given /^the user "([^"]*)" with the email "([^"]*)" and the password "([^"]*)"$/
  */
 public function createUser($name, $email, $password)
 {
     $user = new User();
     $user->setName($name)->setEmail($email);
     $factory = $this->kernel->getContainer()->get('security.encoder_factory');
     $encoder = $factory->getEncoder($user);
     $hashed_password = $encoder->encodePassword($password, $user->getSalt());
     $user->setPassword($hashed_password);
     $em = $this->getEntityManager();
     $em->persist($user);
     $em->flush();
     return $user;
 }
Exemplo n.º 12
0
 public function testSendShowCreatedEmail()
 {
     $show = new Show();
     $owners = array('owner1', 'owner2');
     $user1 = new User();
     $user1->setEmail('*****@*****.**');
     $user2 = new User();
     $user2->setEmail('*****@*****.**');
     $recipients = array($user1, $user2);
     $admins = array($user2);
     $this->twig->expects($this->exactly(2))->method('render')->with($this->anything(), array('owners' => $owners, 'show' => $show))->will($this->returnValue('The message'));
     $this->mailer->expects($this->once())->method('send');
     $this->emailDispatcher->sendShowCreatedEmail($show, $owners, $recipients, $admins);
 }
Exemplo n.º 13
0
 public function testEmailSearchMultipleMatches()
 {
     $user1 = new User();
     $user1->setName('Test User 1');
     $user1->setEmail('abc123');
     $user2 = new User();
     $user2->setName('Test User 2');
     $user2->setEmail('*****@*****.**');
     $this->em->persist($user1);
     $this->em->persist($user2);
     $this->em->flush();
     $user = $this->getRepository()->findOneByEmail('*****@*****.**');
     $this->assertTrue($user instanceof User);
 }
Exemplo n.º 14
0
 private function login()
 {
     $this->loginUser = new User();
     $this->loginUser->setEmail('*****@*****.**')->setName('Test User 2');
     $factory = $this->client->getKernel()->getContainer()->get('security.encoder_factory');
     $encoder = $factory->getEncoder($this->loginUser);
     $hashed_password = $encoder->encodePassword('password', $this->loginUser->getSalt());
     $this->loginUser->setPassword($hashed_password);
     $em = $this->getEntityManager();
     $em->persist($this->loginUser);
     $em->flush();
     $crawler = $this->userClient->request('GET', '/auth/login');
     $form = $crawler->selectButton('Log in')->form();
     $form->setValues(array('email' => $this->loginUser->getEmail(), 'password' => 'password'));
     $this->userClient->submit($form);
 }
Exemplo n.º 15
0
 public function testGetEntityIdsByUser_ValidClass()
 {
     $user = new User();
     $user->setEmail('*****@*****.**');
     $ace1 = new AccessControlEntry();
     $ace1->setType('show');
     $ace1->setEntityId(32);
     $ace2 = new AccessControlEntry();
     $ace2->setType('show');
     $ace2->setEntityId(44);
     $aces = array($ace1, $ace2);
     $this->repository->expects($this->once())->method('findByUserAndType')->with($user, 'show')->will($this->returnValue($aces));
     $retAces = $this->aclProvider->getEntityIdsByUser($user, '\\Acts\\CamdramBundle\\Entity\\Show');
     $this->assertEquals(32, $retAces[0]);
     $this->assertEquals(44, $retAces[1]);
 }
Exemplo n.º 16
0
 public function sendPasswordResetEmail(User $user, $token)
 {
     $message = \Swift_Message::newInstance()->setSubject('Password reset')->setFrom($this->from_address)->setTo($user->getFullEmail())->setBody($this->twig->render('ActsCamdramBundle:Email:password_reset.txt.twig', array('user' => $user, 'token' => $token)));
     $this->mailer->send($message);
 }
Exemplo n.º 17
0
 public function testDelete()
 {
     $person = new Person();
     $this->user->setPerson($person);
     $this->assertEquals(ProfileVoter::ACCESS_ABSTAIN, $this->voter->vote($this->token, $person, array('DELETE')));
 }
Exemplo n.º 18
0
 public function createPasswordAction(Request $request)
 {
     if (!$this->getUser() instanceof ExternalUser) {
         return $this->redirect($this->generateUrl('acts_camdram_homepage'));
     }
     $user = new User();
     $external_user = $this->getUser();
     $user->setName($external_user->getName());
     $user->setEmail($external_user->getEmail());
     $user->setPerson($external_user->getPerson());
     $user->setIsEmailVerified(true);
     //Raven accounts don't give us a name but the others do,
     //so need to decide whether to include a 'name' field in the form or not
     $type = new CreatePasswordType(!(bool) $user->getName());
     $form = $this->createForm($type, $user);
     if ($request->getMethod() == 'POST') {
         $form->submit($request);
         if ($form->isValid()) {
             /** @var \Acts\CamdramSecurityBundle\Entity\User $user */
             $user = $form->getData();
             $factory = $this->get('security.encoder_factory');
             $encoder = $factory->getEncoder($user);
             $password = $encoder->encodePassword($user->getPassword(), $user->getSalt());
             $user->setPassword($password);
             $user->addExternalUser($external_user);
             $external_user->setUser($user);
             $em = $this->getDoctrine()->getManager();
             $em->persist($user);
             $em->flush();
             $token = new UsernamePasswordToken($user, $user->getPassword(), 'public', $user->getRoles());
             $this->get('event_dispatcher')->dispatch(CamdramSecurityEvents::REGISTRATION_COMPLETE, new UserEvent($user));
             $this->get('security.context')->setToken($token);
             $this->get('camdram.security.authentication_success_handler')->onAuthenticationSuccess($request, $token);
             return $this->redirect($this->generateUrl('acts_camdram_security_create_account_complete'));
         }
     }
     return $this->render('ActsCamdramSecurityBundle:Default:create_password.html.twig', array('form' => $form->createView()));
 }
Exemplo n.º 19
0
 /**
  * Remove users
  *
  * @param \Acts\CamdramSecurityBundle\Entity\User $users
  */
 public function removeUser(User $users)
 {
     $this->users->removeElement($users);
 }