Example #1
0
     try {
         // Create security Acl tables
         $tablesMapping = ['class_table_name' => 'acl_classes', 'entry_table_name' => 'acl_entries', 'oid_table_name' => 'acl_object_identities', 'oid_ancestors_table_name' => 'acl_object_identity_ancestors', 'sid_table_name' => 'acl_security_identities'];
         foreach ($tablesMapping as $tableName) {
             $connection->executeQuery(sprintf('DROP TABLE IF EXISTS %s', $tableName));
         }
         $schema = new \Symfony\Component\Security\Acl\Dbal\Schema($tablesMapping);
         $platform = $connection->getDatabasePlatform();
         foreach ($schema->toSql($platform) as $query) {
             $connection->executeQuery($query);
         }
         /**
          * Creation of Admin user
          */
         $encoderFactory = $application->getContainer()->get('security.context')->getEncoderFactory();
         $adminUser = new \BackBee\Security\User($_POST['username'], $_POST['user_password'], 'SuperAdmin', 'SuperAdmin');
         $adminUser->setApiKeyEnabled(true)->setActivated(true);
         $encoder = $encoderFactory->getEncoder($adminUser);
         $adminUser->setPassword($encoder->encodePassword($_POST['user_password'], ''))->setEmail($_POST['user_email'])->generateRandomApiKey();
         $entityManager->persist($adminUser);
         $entityManager->flush($adminUser);
         $security = \Symfony\Component\Yaml\Yaml::parse(dirname(__DIR__) . '/repository/Config/security.yml.dist');
         $security['sudoers'] = [$adminUser->getLogin() => $adminUser->getId()];
         file_put_contents(dirname(__DIR__) . '/repository/Config/security.yml', $yaml->dump($security));
         chmod(dirname(__DIR__) . '/repository/Config/security.yml', 0755);
         $security = \Symfony\Component\Yaml\Yaml::parse(dirname(__DIR__) . '/repository/Config/security.yml');
     } catch (\Exception $e) {
         // to be catched by Debug component
     }
     $step = 4;
 }
Example #2
0
 /**
  * Create new superadmin user
  *
  * @param  string   $login         User name
  * @param  string   $password      User password
  * @param  string   $email         User email
  *
  * @return \BackBee\Security\User   The user object
  */
 private function createUser($login, $password, $email)
 {
     $encoderFactory = $this->bbapp->getContainer()->get('security.context')->getEncoderFactory();
     $adminUser = new \BackBee\Security\User($login, $password, 'SuperAdmin', 'SuperAdmin');
     $adminUser->setApiKeyEnabled(true)->setActivated(true);
     $encoder = $encoderFactory->getEncoder($adminUser);
     $adminUser->setPassword($encoder->encodePassword($password, ''))->setEmail($email)->generateRandomApiKey();
     $this->entyMgr->persist($adminUser);
     $this->entyMgr->flush($adminUser);
     return $adminUser;
 }